ObjFW  Check-in [d61c00e257]

Overview
Comment:Fix -[OFURL isEqual:].
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | 0.5
Files: files | file ages | folders
SHA3-256: d61c00e257d5a2b24eed292eb2a7eb04f8d320034ef9e5dcd7ec58696451b2c3
User & Date: js on 2011-06-04 13:31:24
Other Links: branch diff | manifest | tags
Context
2011-06-04
13:56
Also set finishedParsing if the root element is in short form. check-in: 4f6d13223e user: js tags: 0.5
13:31
Fix -[OFURL isEqual:]. check-in: d61c00e257 user: js tags: 0.5
2011-05-15
00:32
configure.ac: Fix two tests that would fail with Clang + new ABI. check-in: 76ab337747 user: js tags: 0.5
Changes

Modified src/OFURL.m from [0a4862ec8c] to [0accfd5d18].

314
315
316
317
318
319
320
321

322
323

324
325
326

327

328
329

330
331

332
333
334
335
336
337
338
314
315
316
317
318
319
320

321
322

323
324
325
326
327

328
329

330
331

332
333
334
335
336
337
338
339







-
+

-
+



+
-
+

-
+

-
+








	if (![url->scheme isEqual: scheme])
		return NO;
	if (![url->host isEqual: host])
		return NO;
	if (url->port != port)
		return NO;
	if (![url->user isEqual: user])
	if (url->user != user && ![url->user isEqual: user])
		return NO;
	if (![url->password isEqual: password])
	if (url->password != password && ![url->password isEqual: password])
		return NO;
	if (![url->path isEqual: path])
		return NO;
	if (url->parameters != parameters &&
	if (![url->parameters isEqual: parameters])
	    ![url->parameters isEqual: parameters])
		return NO;
	if (![url->query isEqual: query])
	if (url->query != query && ![url->query isEqual: query])
		return NO;
	if (![url->fragment isEqual: fragment])
	if (url->fragment != fragment && ![url->fragment isEqual: fragment])
		return NO;

	return YES;
}

- (uint32_t)hash
{

Modified tests/OFURLTests.m from [030d169ca8] to [8b94bb792f].

71
72
73
74
75
76
77
78


79
80
81
82
83
84
85
86
87
88
89
71
72
73
74
75
76
77

78
79
80
81
82
83
84
85
86
87
88
89
90







-
+
+











	    [[u1 parameters] isEqual: @"p"] && [u4 parameters] == nil)
	TEST(@"-[query]", [[u1 query] isEqual: @"q"] && [u4 query] == nil)
	TEST(@"-[fragment]",
	    [[u1 fragment] isEqual: @"f"] && [u4 fragment] == nil)

	TEST(@"-[copy]", R(u4 = [[u1 copy] autorelease]))

	TEST(@"-[isEqual:]", [u1 isEqual: u4] && ![u2 isEqual: u3])
	TEST(@"-[isEqual:]", [u1 isEqual: u4] && ![u2 isEqual: u3] &&
	    [[OFURL URLWithString: @"http://bar/"] isEqual: u3])
	TEST(@"-[hash:]", [u1 hash] == [u4 hash] && [u2 hash] != [u3 hash])

	EXPECT_EXCEPTION(@"Detection of invalid format",
	    OFInvalidFormatException, [OFURL URLWithString: @"http"])

	EXPECT_EXCEPTION(@"Detection of invalid scheme",
	    OFInvalidFormatException, [OFURL URLWithString: @"foo://"])

	[pool drain];
}
@end