1'use strict'; 2const common = require('../common'); 3if (!common.hasIntl) { 4 // A handful of the tests fail when ICU is not included. 5 common.skip('missing Intl'); 6} 7 8const fixtures = require('../common/fixtures'); 9const { test, assert_equals } = require('../common/wpt').harness; 10 11const request = { 12 response: require( 13 fixtures.path('wpt', 'url', 'resources', 'urltestdata.json') 14 ) 15}; 16 17// The following tests are copied from WPT. Modifications to them should be 18// upstreamed first. 19// Refs: https://github.com/w3c/web-platform-tests/blob/8791bed/url/url-origin.html 20// License: http://www.w3.org/Consortium/Legal/2008/04-testsuite-copyright.html 21 22/* eslint-disable */ 23function runURLOriginTests() { 24 // var setup = async_test("Loading data…") 25 // setup.step(function() { 26 // var request = new XMLHttpRequest() 27 // request.open("GET", "urltestdata.json") 28 // request.send() 29 // request.responseType = "json" 30 // request.onload = setup.step_func(function() { 31 runURLTests(request.response) 32 // setup.done() 33 // }) 34 // }) 35} 36 37function bURL(url, base) { 38 return new URL(url, base || "about:blank") 39} 40 41function runURLTests(urltests) { 42 for(var i = 0, l = urltests.length; i < l; i++) { 43 var expected = urltests[i] 44 if (typeof expected === "string" || !("origin" in expected)) continue 45 test(function() { 46 var url = bURL(expected.input, expected.base) 47 assert_equals(url.origin, expected.origin, "origin") 48 }, "Origin parsing: <" + expected.input + "> against <" + expected.base + ">") 49 } 50} 51 52runURLOriginTests() 53/* eslint-enable */ 54