diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/src/UriTests.cpp | 19 | 
1 files changed, 19 insertions, 0 deletions
diff --git a/test/src/UriTests.cpp b/test/src/UriTests.cpp index 4242885..cbc8b8a 100644 --- a/test/src/UriTests.cpp +++ b/test/src/UriTests.cpp @@ -584,3 +584,22 @@ TEST(UriTests, ParseFromStringPathsWithPercentEncodedCharacters) {          ++index;      }  } + +TEST(UriTests, NormalizePath) { +    struct TestVector { +        std::string uriString; +        std::vector< std::string > normalizedPathSegments; +    }; +    const std::vector< TestVector > testVectors{ +        {"/a/b/c/./../../g", {"", "a", "g"}}, +        {"mid/content=5/../6", {"mid", "6"}}, +    }; +    size_t index = 0; +    for (const auto& testVector : testVectors) { +        Uri::Uri uri; +        ASSERT_TRUE(uri.ParseFromString(testVector.uriString)) << index; +        uri.NormalizePath(); +        ASSERT_EQ(testVector.normalizedPathSegments, uri.GetPath()); +        ++index; +    } +}  | 
