33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
#import "TestsAppDelegate.h"
static OFString *module = @"OFString";
static OFString* whitespace[] = {
@" \r \t\n\t \tasd \t \t\t\r\n",
@" \t\t \t\t \t \t"
};
static of_unichar_t ucstr[] = { 'f', 0xF6, 0xF6, 'b', 0xE4, 'r', 0 };
@interface EntityHandler: OFObject <OFStringXMLUnescapingDelegate>
@end
@implementation EntityHandler
- (OFString*)string: (OFString*)string
containsUnknownEntityNamed: (OFString*)entity
|
|
>
>
>
>
|
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
#import "TestsAppDelegate.h"
static OFString *module = @"OFString";
static OFString* whitespace[] = {
@" \r \t\n\t \tasd \t \t\t\r\n",
@" \t\t \t\t \t \t"
};
static of_unichar_t ucstr[] = { 'f', 0xF6, 0xF6, 'b', 0xE4, 'r', 0x1F03A, 0 };
static of_unichar_t sucstr[] = {
0xFFFE0000, 0x66000000, 0xF6000000, 0xF6000000, 0x62000000, 0xE4000000,
0x72000000, 0x3AF00100, 0
};
@interface EntityHandler: OFObject <OFStringXMLUnescapingDelegate>
@end
@implementation EntityHandler
- (OFString*)string: (OFString*)string
containsUnknownEntityNamed: (OFString*)entity
|
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
[[s[0] uppercaseString] isEqual: @"3𝄞1€SÄT"])
TEST(@"-[lowercaseString]", R([s[0] upper]) &&
[[s[0] lowercaseString] isEqual: @"3𝄞1€sät"])
TEST(@"+[stringWithCString:length:]",
(s[0] = [OFMutableString stringWithCString: "\xEF\xBB\xBF" "foobar"
length: 6]) &&
[s[0] isEqual: @"foo"])
TEST(@"+[stringWithContentsOfFile:encoding]", (s[1] = [OFString
stringWithContentsOfFile: @"testfile.txt"
encoding: OF_STRING_ENCODING_ISO_8859_1]) &&
[s[1] isEqual: @"testäöü"])
TEST(@"+[stringWithContentsOfURL:encoding]", (s[1] = [OFString
stringWithContentsOfURL: [OFURL URLWithString:
|
|
>
>
>
>
>
>
|
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
|
[[s[0] uppercaseString] isEqual: @"3𝄞1€SÄT"])
TEST(@"-[lowercaseString]", R([s[0] upper]) &&
[[s[0] lowercaseString] isEqual: @"3𝄞1€sät"])
TEST(@"+[stringWithCString:length:]",
(s[0] = [OFMutableString stringWithCString: "\xEF\xBB\xBF" "foobar"
length: 6]) &&
[s[0] isEqual: @"foo"])
TEST(@"+[stringWithUnicodeString:]",
(s[1] = [OFString stringWithUnicodeString: ucstr]) &&
[s[1] isEqual: @"fööbär🀺"] &&
(s[1] = [OFString stringWithUnicodeString: sucstr]) &&
[s[1] isEqual: @"fööbär🀺"])
TEST(@"+[stringWithContentsOfFile:encoding]", (s[1] = [OFString
stringWithContentsOfFile: @"testfile.txt"
encoding: OF_STRING_ENCODING_ISO_8859_1]) &&
[s[1] isEqual: @"testäöü"])
TEST(@"+[stringWithContentsOfURL:encoding]", (s[1] = [OFString
stringWithContentsOfURL: [OFURL URLWithString:
|
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
|
EXPECT_EXCEPTION(@"Detect out of range in -[hexadecimalValue]",
OFOutOfRangeException,
[@"0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
@"0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
hexadecimalValue])
TEST(@"-[unicodeString]", (ua = [@"fööbär" unicodeString]) &&
!memcmp(ua, ucstr, 7 * sizeof(of_unichar_t)) && R(free(ua)))
TEST(@"-[MD5Hash]", [[@"asdfoobar" MD5Hash]
isEqual: @"184dce2ec49b5422c7cfd8728864db4c"])
TEST(@"-[SHA1Hash]", [[@"asdfoobar" SHA1Hash]
isEqual: @"f5f81ac0a8b5cbfdc4585ec1ad32e7b3a12b9b49"])
|
|
|
|
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
|
EXPECT_EXCEPTION(@"Detect out of range in -[hexadecimalValue]",
OFOutOfRangeException,
[@"0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
@"0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
hexadecimalValue])
TEST(@"-[unicodeString]", (ua = [@"fööbär🀺" unicodeString]) &&
!memcmp(ua, ucstr, 8 * sizeof(of_unichar_t)) && R(free(ua)))
TEST(@"-[MD5Hash]", [[@"asdfoobar" MD5Hash]
isEqual: @"184dce2ec49b5422c7cfd8728864db4c"])
TEST(@"-[SHA1Hash]", [[@"asdfoobar" SHA1Hash]
isEqual: @"f5f81ac0a8b5cbfdc4585ec1ad32e7b3a12b9b49"])
|