mirror of
https://github.com/NixOS/nix.git
synced 2025-11-10 12:36:01 +01:00
Limit to lenient parsing of non-standard URLs only where needed
This allows us to put `parseURL` in more spots without furthering technical debt.
This commit is contained in:
parent
4083eff0c0
commit
72a548ed6a
8 changed files with 76 additions and 51 deletions
|
|
@ -221,15 +221,20 @@ TEST(parseURL, parsedUrlsWithUnescapedChars)
|
|||
* 2. Unescaped spaces and quotes in query.
|
||||
*/
|
||||
auto s = "http://www.example.org/file.tar.gz?query \"= 123\"#shevron^quote\"space ";
|
||||
auto url = parseURL(s);
|
||||
|
||||
ASSERT_EQ(url.fragment, "shevron^quote\"space ");
|
||||
/* Without leniency for back compat, this should throw. */
|
||||
EXPECT_THROW(parseURL(s), Error);
|
||||
|
||||
/* With leniency for back compat, this should parse. */
|
||||
auto url = parseURL(s, /*lenient=*/true);
|
||||
|
||||
EXPECT_EQ(url.fragment, "shevron^quote\"space ");
|
||||
|
||||
auto query = StringMap{
|
||||
{"query \"", " 123\""},
|
||||
};
|
||||
|
||||
ASSERT_EQ(url.query, query);
|
||||
EXPECT_EQ(url.query, query);
|
||||
}
|
||||
|
||||
TEST(parseURL, parseFTPUrl)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue