node/test/fixtures/wpt/urlpattern/resources/urlpattern-compare-tests.tentative.js
Yagiz Nizipli b78df6c402 test: add WPT for URLPattern
Co-authored-by: Daniel Lemire <daniel@lemire.me>
PR-URL: https://github.com/nodejs/node/pull/56452
Reviewed-By: Daniel Lemire <daniel@lemire.me>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Jordan Harband <ljharb@gmail.com>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
2025-02-01 02:13:58 +00:00

26 lines
1.1 KiB
JavaScript

function runTests(data) {
for (let entry of data) {
test(function() {
const left = new URLPattern(entry.left);
const right = new URLPattern(entry.right);
assert_equals(URLPattern.compareComponent(entry.component, left, right), entry.expected);
// We have to coerce to an integer here in order to avoid asserting
// that `+0` is `-0`.
const reverse_expected = ~~(entry.expected * -1);
assert_equals(URLPattern.compareComponent(entry.component, right, left), reverse_expected, "reverse order");
assert_equals(URLPattern.compareComponent(entry.component, left, left), 0, "left equality");
assert_equals(URLPattern.compareComponent(entry.component, right, right), 0, "right equality");
}, `Component: ${entry.component} ` +
`Left: ${JSON.stringify(entry.left)} ` +
`Right: ${JSON.stringify(entry.right)}`);
}
}
promise_test(async function() {
const response = await fetch('resources/urlpattern-compare-test-data.json');
const data = await response.json();
runTests(data);
}, 'Loading data...');