LibURL/Pattern: Make dummyURL from the URL parser with a special scheme

Corresponds to: https://github.com/whatwg/urlpattern/commit/46c30fda8f

Along with a follow up bug fix that I made of:

https://github.com/whatwg/urlpattern/commit/5e1c93e2

This for example, fixes canonicalization of URL hosts containing
special characters that should have the unicode ToAscii algorithm
performed on them as the URLs were not being treated as special.
This commit is contained in:
Shannon Booth
2025-03-27 00:05:37 +13:00
committed by Tim Flynn
parent 83a82a027f
commit bee3720b6f
Notes: github-actions[bot] 2025-04-06 12:26:03 +00:00
2 changed files with 42 additions and 35 deletions

View File

@@ -2,8 +2,8 @@ Harness status: OK
Found 354 tests
346 Pass
8 Fail
351 Pass
3 Fail
Pass Loading data...
Pass Pattern: [{"pathname":"/foo/bar"}] Inputs: [{"pathname":"/foo/bar"}]
Pass Pattern: [{"pathname":"/foo/bar"}] Inputs: [{"pathname":"/foo/ba"}]
@@ -157,9 +157,9 @@ Pass Pattern: [{"username":"caf%c3%a9"}] Inputs: [{"username":"café"}]
Pass Pattern: [{"password":"caf%C3%A9"}] Inputs: [{"password":"café"}]
Pass Pattern: [{"password":"café"}] Inputs: [{"password":"café"}]
Pass Pattern: [{"password":"caf%c3%a9"}] Inputs: [{"password":"café"}]
Fail Pattern: [{"hostname":"xn--caf-dma.com"}] Inputs: [{"hostname":"café.com"}]
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: [{"hostname":"xn--caf-dma.com"}] Inputs: [{"hostname":"café.com"}]
Pass Pattern: [{"hostname":"café.com"}] Inputs: [{"hostname":"café.com"}]
Pass 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
Pass Pattern: [{"pathname":"\ud83d \udeb2"}] Inputs: []
@@ -295,7 +295,7 @@ Pass Pattern: [{"protocol":":name+"}] Inputs: [{"protocol":"foobar"}]
Pass Pattern: [{"protocol":":name"}] Inputs: [{"protocol":"foobar"}]
Pass Pattern: [{"hostname":"bad hostname"}] Inputs: undefined
Pass Pattern: [{"hostname":"bad#hostname"}] Inputs: [{"hostname":"bad"}]
Fail Pattern: [{"hostname":"bad%hostname"}] Inputs: undefined
Pass Pattern: [{"hostname":"bad%hostname"}] Inputs: undefined
Pass Pattern: [{"hostname":"bad/hostname"}] Inputs: [{"hostname":"bad"}]
Pass Pattern: [{"hostname":"bad\\:hostname"}] Inputs: undefined
Pass Pattern: [{"hostname":"bad<hostname"}] Inputs: undefined
@@ -304,7 +304,7 @@ Pass Pattern: [{"hostname":"bad?hostname"}] Inputs: undefined
Pass Pattern: [{"hostname":"bad@hostname"}] Inputs: undefined
Pass Pattern: [{"hostname":"bad[hostname"}] Inputs: undefined
Pass Pattern: [{"hostname":"bad]hostname"}] Inputs: undefined
Fail Pattern: [{"hostname":"bad\\\\hostname"}] Inputs: [{"hostname":"badhostname"}]
Pass Pattern: [{"hostname":"bad\\\\hostname"}] Inputs: [{"hostname":"badhostname"}]
Pass Pattern: [{"hostname":"bad^hostname"}] Inputs: undefined
Pass Pattern: [{"hostname":"bad|hostname"}] Inputs: undefined
Pass Pattern: [{"hostname":"bad\nhostname"}] Inputs: [{"hostname":"badhostname"}]