diff options
Diffstat (limited to 'testing/web-platform/tests/referrer-policy/generic/referrer-policy-test-case.js')
-rw-r--r-- | testing/web-platform/tests/referrer-policy/generic/referrer-policy-test-case.js | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/testing/web-platform/tests/referrer-policy/generic/referrer-policy-test-case.js b/testing/web-platform/tests/referrer-policy/generic/referrer-policy-test-case.js deleted file mode 100644 index c4cf96fb0..000000000 --- a/testing/web-platform/tests/referrer-policy/generic/referrer-policy-test-case.js +++ /dev/null @@ -1,125 +0,0 @@ -function ReferrerPolicyTestCase(scenario, testDescription, sanityChecker) { - // Pass and skip rest of the test if browser does not support fetch. - if (scenario.subresource == "fetch-request" && !window.fetch) { - // TODO(kristijanburnik): This should be refactored. - return { - start: function() { - test(function() { assert_true(true); }, - "[ReferrerPolicyTestCase] Skipping test: Fetch is not supported."); - } - }; - } - - // This check is A NOOP in release. - sanityChecker.checkScenario(scenario); - - var subresourceInvoker = { - "a-tag": queryLink, - "area-tag": queryAreaLink, - "fetch-request": queryFetch, - "iframe-tag": queryIframe, - "img-tag": queryImage, - "script-tag": queryScript, - "worker-request": queryWorker, - "xhr-request": queryXhr - }; - - var referrerUrlResolver = { - "omitted": function() { - return undefined; - }, - "origin": function() { - return document.origin + "/"; - }, - "stripped-referrer": function() { - return stripUrlForUseAsReferrer(location.toString()); - } - }; - - var t = { - _scenario: scenario, - _testDescription: testDescription, - _subresourceUrl: null, - _expectedReferrerUrl: null, - _constructSubresourceUrl: function() { - // TODO(kristijanburnik): We should assert that these two domains are - // different. E.g. If someone runs the tets over www, this would fail. - var domainForOrigin = { - "cross-origin":"{{domains[www1]}}", - "same-origin": location.hostname - }; - - // Values obtained and replaced by the wptserve pipeline: - // http://wptserve.readthedocs.org/en/latest/pipes.html#built-in-pipes - var portForProtocol = { - "http": parseInt("{{ports[http][0]}}"), - "https": parseInt("{{ports[https][0]}}") - } - - var targetPort = portForProtocol[t._scenario.target_protocol]; - - t._subresourceUrl = t._scenario.target_protocol + "://" + - domainForOrigin[t._scenario.origin] + - normalizePort(targetPort) + - t._scenario["subresource_path"] + - "?redirection=" + t._scenario["redirection"] + - "&cache_destroyer=" + (new Date()).getTime(); - }, - - _constructExpectedReferrerUrl: function() { - t._expectedReferrerUrl = referrerUrlResolver[t._scenario.referrer_url](); - }, - - _invokeSubresource: function(callback) { - var invoker = subresourceInvoker[t._scenario.subresource]; - - // Depending on the delivery method, extend the subresource element with - // these attributes. - var elementAttributesForDeliveryMethod = { - "attr-referrer": {referrerPolicy: t._scenario.referrer_policy}, - "rel-noreferrer": {rel: "noreferrer"} - }; - - var delivery_method = t._scenario.delivery_method; - - if (delivery_method in elementAttributesForDeliveryMethod) { - invoker(t._subresourceUrl, - callback, - elementAttributesForDeliveryMethod[delivery_method]); - } else { - invoker(t._subresourceUrl, callback); - } - - }, - - start: function() { - t._constructSubresourceUrl(); - t._constructExpectedReferrerUrl(); - - var test = async_test(t._testDescription); - - t._invokeSubresource(function(result) { - // Check if the result is in valid format. NOOP in release. - sanityChecker.checkSubresourceResult( - test, t._scenario, t._subresourceUrl, result); - - // Check the reported URL. - test.step(function() { - assert_equals(result.referrer, - t._expectedReferrerUrl, - "Reported Referrer URL is '" + - t._scenario.referrer_url + "'."); - assert_equals(result.headers.referer, - t._expectedReferrerUrl, - "Reported Referrer URL from HTTP header is '" + - t._expectedReferrerUrl + "'"); - }, "Reported Referrer URL is as expected: " + t._scenario.referrer_url); - - test.done(); - }) - - } - } - - return t; -} |