Skip to content

Commit

Permalink
Bug 1863670 [wpt PR 43014] - Use kUnicodeSets (v regexp flag) in URLP…
Browse files Browse the repository at this point in the history
…attern, a=testonly

Automatic update from web-platform-tests
Use kUnicodeSets (v regexp flag) in URLPattern

This CL follows the recent spec update in [1]. After this CL, the
regular expression works with the unicodeSet mode, which allows the API
to interpret set notations, multi-codepoint properties etc.

Actually, this CL ends up only adding the support for set notations. At
the moment the API doesn't accept unicode character class escape (\p{},
\P{}) [2], thus we wouldn't add the multi-codepoint match functionarity.

There are some incompatibility between "u" and "v", some patterns are
privously valid but now errors. However, from UMA the impact looks very
limited, it's only around 0.3% of the total constructor calls.

So this CL changes the default flag to "v". Also add a kill switch.

[1] whatwg/urlpattern#178
[2] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Unicode_character_class_escape

Change-Id: I14cc3420d57cca44c0c25867d05802a8a666cd8c
Bug: 1482263
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4861342
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Commit-Queue: Shunya Shishido <sisidovski@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1221823}

--

wpt-commits: 3ce3e9794fcd97ff24506f5c5325f91fc00ef79c
wpt-pr: 43014
  • Loading branch information
sisidovski authored and moz-wptsync-bot committed Nov 22, 2023
1 parent 6e9658b commit a4030e9
Showing 1 changed file with 24 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2829,5 +2829,29 @@
"search": { "input": "q=*&v=?&hmm={}&umm=()", "groups": {} },
"hash": { "input": "foo", "groups": {} }
}
},
{
"pattern": [{ "pathname": "/([[a-z]--a])" }],
"inputs": [{ "pathname": "/a" }],
"expected_match": null
},
{
"pattern": [{ "pathname": "/([[a-z]--a])" }],
"inputs": [{ "pathname": "/z" }],
"expected_match": {
"pathname": { "input": "/z", "groups": { "0": "z" } }
}
},
{
"pattern": [{ "pathname": "/([\\d&&[0-1]])" }],
"inputs": [{ "pathname": "/0" }],
"expected_match": {
"pathname": { "input": "/0", "groups": { "0": "0" } }
}
},
{
"pattern": [{ "pathname": "/([\\d&&[0-1]])" }],
"inputs": [{ "pathname": "/3" }],
"expected_match": null
}
]

0 comments on commit a4030e9

Please sign in to comment.