︙ | | | ︙ | |
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
R(URI3 = [OFURI URIWithString: @"http://bar/"]) &&
R(URI4 = [OFURI URIWithString: @"file:///etc/passwd"]) &&
R(URI5 = [OFURI URIWithString: @"http://foo/bar/qux/foo%2fbar"]) &&
R(URI6 = [OFURI URIWithString: @"https://[12:34::56:abcd]/"]) &&
R(URI7 = [OFURI URIWithString: @"https://[12:34::56:abcd]:234/"]) &&
R(URI8 = [OFURI URIWithString: @"urn:qux:foo"]) &&
R(URI9 = [OFURI URIWithString: @"file:/foo?query#frag"]) &&
R(URI10 = [OFURI URIWithString: @"file:foo@bar/qux"]))
EXPECT_EXCEPTION(@"+[URIWithString:] fails with invalid characters #1",
OFInvalidFormatException,
[OFURI URIWithString: @"ht,tp://foo"])
EXPECT_EXCEPTION(@"+[URIWithString:] fails with invalid characters #2",
OFInvalidFormatException,
|
|
|
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
R(URI3 = [OFURI URIWithString: @"http://bar/"]) &&
R(URI4 = [OFURI URIWithString: @"file:///etc/passwd"]) &&
R(URI5 = [OFURI URIWithString: @"http://foo/bar/qux/foo%2fbar"]) &&
R(URI6 = [OFURI URIWithString: @"https://[12:34::56:abcd]/"]) &&
R(URI7 = [OFURI URIWithString: @"https://[12:34::56:abcd]:234/"]) &&
R(URI8 = [OFURI URIWithString: @"urn:qux:foo"]) &&
R(URI9 = [OFURI URIWithString: @"file:/foo?query#frag"]) &&
R(URI10 = [OFURI URIWithString: @"file:foo@bar/qux?query#frag"]))
EXPECT_EXCEPTION(@"+[URIWithString:] fails with invalid characters #1",
OFInvalidFormatException,
[OFURI URIWithString: @"ht,tp://foo"])
EXPECT_EXCEPTION(@"+[URIWithString:] fails with invalid characters #2",
OFInvalidFormatException,
|
︙ | | | ︙ | |
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
OFInvalidFormatException,
[OFURI URIWithString: @"https://[f]:/"])
EXPECT_EXCEPTION(@"+[URIWithString:] fails with invalid characters #8",
OFInvalidFormatException,
[OFURI URIWithString: @"https://[f]:f/"])
EXPECT_EXCEPTION(@"+[URIWithString:] fails with invalid characters #9",
OFInvalidFormatException,
[OFURI URIWithString: @"foo:bar?qux"])
EXPECT_EXCEPTION(@"+[URIWithString:] fails with invalid characters #10",
OFInvalidFormatException,
[OFURI URIWithString: @"foo:bar#qux"])
TEST(@"+[URIWithString:relativeToURI:]",
[[[OFURI URIWithString: @"/foo" relativeToURI: URI1] string]
isEqual: @"ht%3atp://us%3Aer:p%40w@ho%3Ast:1234/foo"] &&
[[[OFURI URIWithString: @"foo/bar?q"
relativeToURI: [OFURI URIWithString: @"http://h/qux/quux"]]
string] isEqual: @"http://h/qux/foo/bar?q"] &&
[[[OFURI URIWithString: @"foo/bar"
|
<
<
<
<
<
<
<
<
|
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
OFInvalidFormatException,
[OFURI URIWithString: @"https://[f]:/"])
EXPECT_EXCEPTION(@"+[URIWithString:] fails with invalid characters #8",
OFInvalidFormatException,
[OFURI URIWithString: @"https://[f]:f/"])
TEST(@"+[URIWithString:relativeToURI:]",
[[[OFURI URIWithString: @"/foo" relativeToURI: URI1] string]
isEqual: @"ht%3atp://us%3Aer:p%40w@ho%3Ast:1234/foo"] &&
[[[OFURI URIWithString: @"foo/bar?q"
relativeToURI: [OFURI URIWithString: @"http://h/qux/quux"]]
string] isEqual: @"http://h/qux/foo/bar?q"] &&
[[[OFURI URIWithString: @"foo/bar"
|
︙ | | | ︙ | |
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
|
[URI3.string isEqual: @"http://bar/"] &&
[URI4.string isEqual: @"file:///etc/passwd"] &&
[URI5.string isEqual: @"http://foo/bar/qux/foo%2fbar"] &&
[URI6.string isEqual: @"https://[12:34::56:abcd]/"] &&
[URI7.string isEqual: @"https://[12:34::56:abcd]:234/"] &&
[URI8.string isEqual: @"urn:qux:foo"] &&
[URI9.string isEqual: @"file:/foo?query#frag"] &&
[URI10.string isEqual: @"file:foo@bar/qux"])
TEST(@"-[scheme]",
[URI1.scheme isEqual: @"ht:tp"] && [URI4.scheme isEqual: @"file"] &&
[URI9.scheme isEqual: @"file"] && [URI10.scheme isEqual: @"file"])
TEST(@"-[user]", [URI1.user isEqual: @"us:er"] && URI4.user == nil &&
URI10.user == nil)
|
|
|
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
|
[URI3.string isEqual: @"http://bar/"] &&
[URI4.string isEqual: @"file:///etc/passwd"] &&
[URI5.string isEqual: @"http://foo/bar/qux/foo%2fbar"] &&
[URI6.string isEqual: @"https://[12:34::56:abcd]/"] &&
[URI7.string isEqual: @"https://[12:34::56:abcd]:234/"] &&
[URI8.string isEqual: @"urn:qux:foo"] &&
[URI9.string isEqual: @"file:/foo?query#frag"] &&
[URI10.string isEqual: @"file:foo@bar/qux?query#frag"])
TEST(@"-[scheme]",
[URI1.scheme isEqual: @"ht:tp"] && [URI4.scheme isEqual: @"file"] &&
[URI9.scheme isEqual: @"file"] && [URI10.scheme isEqual: @"file"])
TEST(@"-[user]", [URI1.user isEqual: @"us:er"] && URI4.user == nil &&
URI10.user == nil)
|
︙ | | | ︙ | |
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
|
[[[OFURI URIWithString: @"http://host/foo/"]
lastPathComponent] isEqual: @"foo"] &&
[[[OFURI URIWithString: @"http://host/"]
lastPathComponent] isEqual: @"/"] &&
[URI5.lastPathComponent isEqual: @"foo/bar"])
TEST(@"-[query]",
[URI1.query isEqual: @"que#ry=1&f&oo=b=ar"] && URI4.query == nil &&
[URI9.query isEqual: @"query"])
TEST(@"-[queryItems]",
[URI1.queryItems isEqual: [OFArray arrayWithObjects:
[OFPair pairWithFirstObject: @"que#ry" secondObject: @"1"],
[OFPair pairWithFirstObject: @"f&oo" secondObject: @"b=ar"], nil]]);
TEST(@"-[fragment]",
[URI1.fragment isEqual: @"frag#ment"] && URI4.fragment == nil &&
[URI9.fragment isEqual: @"frag"] && URI10.fragment == nil)
TEST(@"-[copy]", R(URI4 = [[URI1 copy] autorelease]))
TEST(@"-[isEqual:]", [URI1 isEqual: URI4] && ![URI2 isEqual: URI3] &&
[[OFURI URIWithString: @"HTTP://bar/"] isEqual: URI3])
TEST(@"-[hash:]", URI1.hash == URI4.hash && URI2.hash != URI3.hash)
|
|
|
>
|
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
|
[[[OFURI URIWithString: @"http://host/foo/"]
lastPathComponent] isEqual: @"foo"] &&
[[[OFURI URIWithString: @"http://host/"]
lastPathComponent] isEqual: @"/"] &&
[URI5.lastPathComponent isEqual: @"foo/bar"])
TEST(@"-[query]",
[URI1.query isEqual: @"que#ry=1&f&oo=b=ar"] && URI4.query == nil &&
[URI9.query isEqual: @"query"] && [URI10.query isEqual: @"query"])
TEST(@"-[queryItems]",
[URI1.queryItems isEqual: [OFArray arrayWithObjects:
[OFPair pairWithFirstObject: @"que#ry" secondObject: @"1"],
[OFPair pairWithFirstObject: @"f&oo" secondObject: @"b=ar"], nil]]);
TEST(@"-[fragment]",
[URI1.fragment isEqual: @"frag#ment"] && URI4.fragment == nil &&
[URI9.fragment isEqual: @"frag"] &&
[URI10.fragment isEqual: @"frag"])
TEST(@"-[copy]", R(URI4 = [[URI1 copy] autorelease]))
TEST(@"-[isEqual:]", [URI1 isEqual: URI4] && ![URI2 isEqual: URI3] &&
[[OFURI URIWithString: @"HTTP://bar/"] isEqual: URI3])
TEST(@"-[hash:]", URI1.hash == URI4.hash && URI2.hash != URI3.hash)
|
︙ | | | ︙ | |