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