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

	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])
		return NO;
	if (![url->password isEqual: password])
		return NO;
	if (![url->path isEqual: path])
		return NO;

	if (![url->parameters isEqual: parameters])
		return NO;
	if (![url->query isEqual: query])
		return NO;
	if (![url->fragment isEqual: fragment])
		return NO;

	return YES;
}

- (uint32_t)hash
{







|

|



>
|

|

|







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 != user && ![url->user isEqual: user])
		return NO;
	if (url->password != password && ![url->password isEqual: password])
		return NO;
	if (![url->path isEqual: path])
		return NO;
	if (url->parameters != parameters &&
	    ![url->parameters isEqual: parameters])
		return NO;
	if (url->query != query && ![url->query isEqual: query])
		return NO;
	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
	    [[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(@"-[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







|
>











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] &&
	    [[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