@@ -236,9 +236,39 @@ [[mu fragment] isEqual: @"frag/ment?#"]) EXPECT_EXCEPTION( @"-[setURLEncodedFragment:] with invalid characters fails", OFInvalidFormatException, [mu setURLEncodedFragment: @"`"]) + + TEST(@"-[URLByAppendingPathComponent:isDirectory:]", + [[[OFURL URLWithString: @"file:///foo/bar"] + URLByAppendingPathComponent: @"qux" + isDirectory: false] isEqual: + [OFURL URLWithString: @"file:///foo/bar/qux"]] && + [[[OFURL URLWithString: @"file:///foo/bar/"] + URLByAppendingPathComponent: @"qux" + isDirectory: false] isEqual: + [OFURL URLWithString: @"file:///foo/bar/qux"]] && + [[[OFURL URLWithString: @"file:///foo/bar/"] + URLByAppendingPathComponent: @"qu?x" + isDirectory: false] isEqual: + [OFURL URLWithString: @"file:///foo/bar/qu%3Fx"]] && + [[[OFURL URLWithString: @"file:///foo/bar/"] + URLByAppendingPathComponent: @"qu?x" + isDirectory: true] isEqual: + [OFURL URLWithString: @"file:///foo/bar/qu%3Fx/"]] && + [[[OFURL URLWithString: @"file:///foo/bar/"] + URLByAppendingPathComponent: @"/qux" + isDirectory: false] isEqual: + [OFURL URLWithString: @"file:///qux"]] && + [[[OFURL URLWithString: @"file:///foo/bar/"] + URLByAppendingPathComponent: @"/qu?x" + isDirectory: false] isEqual: + [OFURL URLWithString: @"file:///qu%3Fx"]] && + [[[OFURL URLWithString: @"file:///foo/bar/"] + URLByAppendingPathComponent: @"/qu?x" + isDirectory: true] isEqual: + [OFURL URLWithString: @"file:///qu%3Fx/"]]) [pool drain]; } @end