Я пишу модульные тесты для проверки класса генератора URL.
Я использую NSURLComponents componentsWithString]
для создания окончательного объекта URL.
Существует ли правило относительно того, как componentsWithString
избегает косой черты (/)?
Случай 1:
NSURLComponents *urlComponents = [NSURLComponents componentsWithString: @"/foo"];
urlComponents.scheme = @"http";
urlComponents.host = [NSString stringWithFormat:@"www.bar.com"];
// [urlComponents URL] = http://www.bar.com/foo - Seems okay
Случай2:
NSURLComponents *urlComponents = [NSURLComponents componentsWithString: @"////foo"];
urlComponents.scheme = @"http";
urlComponents.host = [NSString stringWithFormat:@"www.bar.com"];
// [urlComponents URL] = http://www.bar.com//foo
Случай 3:
NSURLComponents *urlComponents = [NSURLComponents componentsWithString: @"//////foo"];
urlComponents.scheme = @"http";
urlComponents.host = [NSString stringWithFormat:@"www.bar.com"];
// [urlComponents URL] = http://www.bar.com////foo
Почему в случае 2 и 3 количество косых черт уменьшается до 2 и 4 соответственно?