mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-22 04:25:13 +00:00
LibURL/Pattern: URL parse correct value in opaque path canonicalization
This commit is contained in:
parent
0f2e52cdad
commit
e54f8241dd
2 changed files with 13 additions and 13 deletions
|
@ -173,7 +173,7 @@ PatternErrorOr<String> canonicalize_a_pathname(String const& value)
|
|||
|
||||
// 6. Let parseResult be the result of running basic URL parser given modified value with dummyURL
|
||||
// as url and path start state as state override.
|
||||
auto parse_result = Parser::basic_parse(value, {}, &dummy_url, Parser::State::PathStart);
|
||||
auto parse_result = Parser::basic_parse(modified_value.string_view(), {}, &dummy_url, Parser::State::PathStart);
|
||||
|
||||
// 7. If parseResult is failure, then throw a TypeError.
|
||||
if (!parse_result.has_value())
|
||||
|
|
|
@ -2,8 +2,8 @@ Harness status: OK
|
|||
|
||||
Found 350 tests
|
||||
|
||||
160 Pass
|
||||
190 Fail
|
||||
170 Pass
|
||||
180 Fail
|
||||
Pass Loading data...
|
||||
Fail Pattern: [{"pathname":"/foo/bar"}] Inputs: [{"pathname":"/foo/bar"}]
|
||||
Pass Pattern: [{"pathname":"/foo/bar"}] Inputs: [{"pathname":"/foo/ba"}]
|
||||
|
@ -162,7 +162,7 @@ Fail Pattern: [{"hostname":"café.com"}] Inputs: [{"hostname":"café.com"}]
|
|||
Fail Pattern: ["http://<2F><><EFBFBD>U+deb2.com/"] Inputs: ["http://<2F><><EFBFBD>U+deb2.com/"]
|
||||
Pass Pattern: ["http://\ud83d \udeb2"] Inputs: undefined
|
||||
Pass Pattern: [{"hostname":"\ud83d \udeb2"}] Inputs: undefined
|
||||
Fail Pattern: [{"pathname":"\ud83d \udeb2"}] Inputs: []
|
||||
Pass Pattern: [{"pathname":"\ud83d \udeb2"}] Inputs: []
|
||||
Pass Pattern: [{"pathname":":\ud83d \udeb2"}] Inputs: undefined
|
||||
Pass Pattern: [{"pathname":":a<><61><EFBFBD>U+dd00b"}] Inputs: []
|
||||
Fail Pattern: [{"pathname":"test/:a<><61><EFBFBD>U+dc50b"}] Inputs: [{"pathname":"test/foo"}]
|
||||
|
@ -189,9 +189,9 @@ Fail Pattern: [{"pathname":"","baseURL":"https://example.com"}] Inputs: [{"pathn
|
|||
Pass Pattern: [{"pathname":"{/bar}","baseURL":"https://example.com/foo/"}] Inputs: [{"pathname":"./bar","baseURL":"https://example.com/foo/"}]
|
||||
Pass Pattern: [{"pathname":"\\/bar","baseURL":"https://example.com/foo/"}] Inputs: [{"pathname":"./bar","baseURL":"https://example.com/foo/"}]
|
||||
Fail Pattern: [{"pathname":"b","baseURL":"https://example.com/foo/"}] Inputs: [{"pathname":"./b","baseURL":"https://example.com/foo/"}]
|
||||
Fail Pattern: [{"pathname":"foo/bar"}] Inputs: ["https://example.com/foo/bar"]
|
||||
Pass Pattern: [{"pathname":"foo/bar"}] Inputs: ["https://example.com/foo/bar"]
|
||||
Pass Pattern: [{"pathname":"foo/bar","baseURL":"https://example.com"}] Inputs: ["https://example.com/foo/bar"]
|
||||
Fail Pattern: [{"pathname":":name.html","baseURL":"https://example.com"}] Inputs: ["https://example.com/foo.html"]
|
||||
Pass Pattern: [{"pathname":":name.html","baseURL":"https://example.com"}] Inputs: ["https://example.com/foo.html"]
|
||||
Fail Pattern: [{"search":"q=caf%C3%A9"}] Inputs: [{"search":"q=café"}]
|
||||
Fail Pattern: [{"search":"q=café"}] Inputs: [{"search":"q=café"}]
|
||||
Pass Pattern: [{"search":"q=caf%c3%a9"}] Inputs: [{"search":"q=café"}]
|
||||
|
@ -206,10 +206,10 @@ Fail Pattern: [{"pathname":"/foo\\:"}] Inputs: [{"pathname":"/foo:"}]
|
|||
Fail Pattern: [{"pathname":"/foo\\{"}] Inputs: [{"pathname":"/foo{"}]
|
||||
Fail Pattern: [{"pathname":"/foo\\("}] Inputs: [{"pathname":"/foo("}]
|
||||
Fail Pattern: [{"protocol":"javascript","pathname":"var x = 1;"}] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}]
|
||||
Fail Pattern: [{"pathname":"var x = 1;"}] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}]
|
||||
Pass Pattern: [{"pathname":"var x = 1;"}] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}]
|
||||
Fail Pattern: [{"protocol":"javascript","pathname":"var x = 1;"}] Inputs: [{"baseURL":"javascript:var x = 1;"}]
|
||||
Fail Pattern: [{"protocol":"(data|javascript)","pathname":"var x = 1;"}] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}]
|
||||
Fail Pattern: [{"protocol":"(https|javascript)","pathname":"var x = 1;"}] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}]
|
||||
Pass Pattern: [{"protocol":"(https|javascript)","pathname":"var x = 1;"}] Inputs: [{"protocol":"javascript","pathname":"var x = 1;"}]
|
||||
Fail Pattern: [{"pathname":"var x = 1;"}] Inputs: [{"pathname":"var x = 1;"}]
|
||||
Pass Pattern: [{"pathname":"/foo/bar"}] Inputs: ["./foo/bar","https://example.com"]
|
||||
Pass Pattern: [{"pathname":"/foo/bar"}] Inputs: [{"pathname":"/foo/bar"},"https://example.com"]
|
||||
|
@ -224,13 +224,13 @@ Pass Pattern: ["https://example.com:8080?foo"] Inputs: ["https://example.com:808
|
|||
Pass Pattern: ["https://example.com:8080#foo"] Inputs: ["https://example.com:8080/#foo"]
|
||||
Pass Pattern: ["https://example.com/?foo"] Inputs: ["https://example.com/?foo"]
|
||||
Pass Pattern: ["https://example.com/#foo"] Inputs: ["https://example.com/#foo"]
|
||||
Fail Pattern: ["https://example.com/*?foo"] Inputs: ["https://example.com/?foo"]
|
||||
Pass Pattern: ["https://example.com/*?foo"] Inputs: ["https://example.com/?foo"]
|
||||
Pass Pattern: ["https://example.com/*\\?foo"] Inputs: ["https://example.com/?foo"]
|
||||
Fail Pattern: ["https://example.com/:name?foo"] Inputs: ["https://example.com/bar?foo"]
|
||||
Pass Pattern: ["https://example.com/:name?foo"] Inputs: ["https://example.com/bar?foo"]
|
||||
Pass Pattern: ["https://example.com/:name\\?foo"] Inputs: ["https://example.com/bar?foo"]
|
||||
Fail Pattern: ["https://example.com/(bar)?foo"] Inputs: ["https://example.com/bar?foo"]
|
||||
Pass Pattern: ["https://example.com/(bar)?foo"] Inputs: ["https://example.com/bar?foo"]
|
||||
Pass Pattern: ["https://example.com/(bar)\\?foo"] Inputs: ["https://example.com/bar?foo"]
|
||||
Fail Pattern: ["https://example.com/{bar}?foo"] Inputs: ["https://example.com/bar?foo"]
|
||||
Pass Pattern: ["https://example.com/{bar}?foo"] Inputs: ["https://example.com/bar?foo"]
|
||||
Pass Pattern: ["https://example.com/{bar}\\?foo"] Inputs: ["https://example.com/bar?foo"]
|
||||
Pass Pattern: ["https://example.com/"] Inputs: ["https://example.com:8080/"]
|
||||
Pass Pattern: ["data:foobar"] Inputs: ["data:foobar"]
|
||||
|
@ -316,7 +316,7 @@ Fail Pattern: [{"pathname":"(foo)?(.*)"}] Inputs: [{"pathname":"foobarbaz"}]
|
|||
Fail Pattern: [{"pathname":"{:foo}(.*)"}] Inputs: [{"pathname":"foobarbaz"}]
|
||||
Fail Pattern: [{"pathname":"{:foo}(barbaz)"}] Inputs: [{"pathname":"foobarbaz"}]
|
||||
Fail Pattern: [{"pathname":"{:foo}{(.*)}"}] Inputs: [{"pathname":"foobarbaz"}]
|
||||
Fail Pattern: [{"pathname":"{:foo}{(.*)bar}"}] Inputs: [{"pathname":"foobarbaz"}]
|
||||
Pass Pattern: [{"pathname":"{:foo}{(.*)bar}"}] Inputs: [{"pathname":"foobarbaz"}]
|
||||
Fail Pattern: [{"pathname":"{:foo}{bar(.*)}"}] Inputs: [{"pathname":"foobarbaz"}]
|
||||
Fail Pattern: [{"pathname":"{:foo}:bar(.*)"}] Inputs: [{"pathname":"foobarbaz"}]
|
||||
Fail Pattern: [{"pathname":"{:foo}?(.*)"}] Inputs: [{"pathname":"foobarbaz"}]
|
||||
|
|
Loading…
Add table
Reference in a new issue