mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-21 12:05:15 +00:00
LibURL/Pattern: Implement 'compute protocol matches a special scheme'
This commit is contained in:
parent
8038297a15
commit
0f2e52cdad
2 changed files with 17 additions and 8 deletions
|
@ -381,7 +381,16 @@ String ConstructorStringParser::make_a_component_string() const
|
|||
// https://urlpattern.spec.whatwg.org/#compute-protocol-matches-a-special-scheme-flag
|
||||
PatternErrorOr<void> ConstructorStringParser::compute_protocol_matches_a_special_scheme_flag()
|
||||
{
|
||||
// FIXME: Implement this.
|
||||
// 1. Let protocol string be the result of running make a component string given parser.
|
||||
auto protocol_string = make_a_component_string();
|
||||
|
||||
// 2. Let protocol component be the result of compiling a component given protocol string, canonicalize a protocol, and default options.
|
||||
auto protocol_component = TRY(Component::compile(protocol_string.code_points(), canonicalize_a_protocol, Options::default_()));
|
||||
|
||||
// 3. If the result of running protocol component matches a special scheme given protocol component is true, then set parser’s protocol matches a special scheme flag to true.
|
||||
if (protocol_component_matches_a_special_scheme(protocol_component))
|
||||
m_protocol_matches_a_special_scheme = true;
|
||||
|
||||
return {};
|
||||
}
|
||||
|
||||
|
|
|
@ -2,8 +2,8 @@ Harness status: OK
|
|||
|
||||
Found 350 tests
|
||||
|
||||
155 Pass
|
||||
195 Fail
|
||||
160 Pass
|
||||
190 Fail
|
||||
Pass Loading data...
|
||||
Fail Pattern: [{"pathname":"/foo/bar"}] Inputs: [{"pathname":"/foo/bar"}]
|
||||
Pass Pattern: [{"pathname":"/foo/bar"}] Inputs: [{"pathname":"/foo/ba"}]
|
||||
|
@ -218,10 +218,10 @@ Fail Pattern: ["/foo?bar#baz","https://example.com:8080"] Inputs: [{"pathname":"
|
|||
Pass Pattern: ["/foo"] Inputs: undefined
|
||||
Pass Pattern: ["example.com/foo"] Inputs: undefined
|
||||
Pass Pattern: ["http{s}?://{*.}?example.com/:product/:endpoint"] Inputs: ["https://sub.example.com/foo/bar"]
|
||||
Fail Pattern: ["https://example.com?foo"] Inputs: ["https://example.com/?foo"]
|
||||
Fail Pattern: ["https://example.com#foo"] Inputs: ["https://example.com/#foo"]
|
||||
Fail Pattern: ["https://example.com:8080?foo"] Inputs: ["https://example.com:8080/?foo"]
|
||||
Fail 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"]
|
||||
Pass Pattern: ["https://example.com:8080?foo"] Inputs: ["https://example.com:8080/?foo"]
|
||||
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"]
|
||||
|
@ -259,7 +259,7 @@ Pass Pattern: ["https://foo\\:bar@example.com"] Inputs: ["https://foo:bar@exampl
|
|||
Pass Pattern: ["https://foo@example.com"] Inputs: ["https://foo@example.com"]
|
||||
Pass Pattern: ["https://\\:bar@example.com"] Inputs: ["https://:bar@example.com"]
|
||||
Pass Pattern: ["https://:user::pass@example.com"] Inputs: ["https://foo:bar@example.com"]
|
||||
Fail Pattern: ["https\\:foo\\:bar@example.com"] Inputs: ["https:foo:bar@example.com"]
|
||||
Pass Pattern: ["https\\:foo\\:bar@example.com"] Inputs: ["https:foo:bar@example.com"]
|
||||
Fail Pattern: ["data\\:foo\\:bar@example.com"] Inputs: ["data:foo:bar@example.com"]
|
||||
Pass Pattern: ["https://foo{\\:}bar@example.com"] Inputs: ["https://foo:bar@example.com"]
|
||||
Pass Pattern: ["data{\\:}channel.html","https://example.com"] Inputs: ["https://example.com/data:channel.html"]
|
||||
|
|
Loading…
Add table
Reference in a new issue