Index: src/OFURL.m ================================================================== --- src/OFURL.m +++ src/OFURL.m @@ -316,21 +316,22 @@ 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 isEqual: parameters]) + if (url->parameters != 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; } Index: tests/OFURLTests.m ================================================================== --- tests/OFURLTests.m +++ tests/OFURLTests.m @@ -73,11 +73,12 @@ 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"])