forked from ParisiLabs/wire-ios
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNSString+FingerprintTests.m
67 lines (53 loc) · 2.53 KB
/
NSString+FingerprintTests.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
//
// Wire
// Copyright (C) 2016 Wire Swiss GmbH
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see http://www.gnu.org/licenses/.
//
#import <XCTest/XCTest.h>
#import "NSString+Fingerprint.h"
@interface NSString_FingerprintTests : XCTestCase
@end
@implementation NSString_FingerprintTests
- (void)setUp {
[super setUp];
// Put setup code here. This method is called before the invocation of each test method in the class.
}
- (void)tearDown {
// Put teardown code here. This method is called after the invocation of each test method in the class.
[super tearDown];
}
- (void)testFingerprintAttributes {
NSDictionary *regularAttributes = @{NSFontAttributeName: [UIFont systemFontOfSize:[UIFont systemFontSize]]};
NSDictionary *boldAttributes = @{NSFontAttributeName: [UIFont boldSystemFontOfSize:[UIFont systemFontSize]]};
NSAttributedString *attributedString = [self.fingerprintString fingerprintStringWithAttributes:regularAttributes
boldAttributes:boldAttributes];
__block BOOL bold = YES;
[attributedString enumerateAttributesInRange:NSMakeRange(0, attributedString.length)
options:0
usingBlock:^(NSDictionary<NSString *,id> * _Nonnull attrs, NSRange range, BOOL * _Nonnull stop) {
NSString *stringInRange = [[attributedString.string substringWithRange:range] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
if (stringInRange.length == 0) {
return;
}
XCTAssertEqualObjects(attrs, bold ? boldAttributes : regularAttributes);
bold = !bold;
}];
}
#pragma mark - Helper
- (NSString *)fingerprintString
{
return @"05 1c f4 ca 74 4b 80";
}
@end