urlpattern-compare-tests.tentative.js (1081B)
1 function runTests(data) { 2 for (let entry of data) { 3 test(function() { 4 const left = new URLPattern(entry.left); 5 const right = new URLPattern(entry.right); 6 7 assert_equals(URLPattern.compareComponent(entry.component, left, right), entry.expected); 8 9 // We have to coerce to an integer here in order to avoid asserting 10 // that `+0` is `-0`. 11 const reverse_expected = ~~(entry.expected * -1); 12 assert_equals(URLPattern.compareComponent(entry.component, right, left), reverse_expected, "reverse order"); 13 14 assert_equals(URLPattern.compareComponent(entry.component, left, left), 0, "left equality"); 15 assert_equals(URLPattern.compareComponent(entry.component, right, right), 0, "right equality"); 16 }, `Component: ${entry.component} ` + 17 `Left: ${JSON.stringify(entry.left)} ` + 18 `Right: ${JSON.stringify(entry.right)}`); 19 } 20 } 21 22 promise_test(async function() { 23 const response = await fetch('resources/urlpattern-compare-test-data.json'); 24 const data = await response.json(); 25 runTests(data); 26 }, 'Loading data...');