diff options
Diffstat (limited to 'tests/wpt/web-platform-tests/referrer-policy/css-integration/css-test-helper.js')
-rw-r--r-- | tests/wpt/web-platform-tests/referrer-policy/css-integration/css-test-helper.js | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/tests/wpt/web-platform-tests/referrer-policy/css-integration/css-test-helper.js b/tests/wpt/web-platform-tests/referrer-policy/css-integration/css-test-helper.js new file mode 100644 index 00000000000..f5886dbbcbe --- /dev/null +++ b/tests/wpt/web-platform-tests/referrer-policy/css-integration/css-test-helper.js @@ -0,0 +1,66 @@ +var svg_ns = "http://www.w3.org/2000/svg"; +var url_prefix = location.protocol + "//" + location.hostname + ":" + + location.port + "/referrer-policy/generic/subresource/"; + +var svg_test_properties = [ + 'fill', + 'stroke', + 'filter', + 'clip-path', + 'marker-start', + 'marker-mid', + 'marker-end', + 'mask', + 'mask-image', +]; + +// Schedules async_test's for each of the test properties +// Parameters: +// testProperties: An array of test properties. +// testDescription: A test description +// testFunction: A function call which sets up the expect result and runs +// the actual test +function runSvgTests(testProperties, testDescription, testFunction) { + let runNextTest = function () { + let property = testProperties.shift(); + if (property === undefined) { + return; + } + + let current = { + test: async_test(testDescription + " " + property), + id: token(), + property: property, + }; + + testFunction(current); + + let check_url = url_prefix + "svg.py" + "?id=" + current.id + + "&report-headers"; + current.test.step_timeout( + queryXhr.bind(this, check_url, + function(message) { + current.test.step(function() { + assert_own_property(message, "headers"); + assert_own_property(message, "referrer"); + assert_equals(message.referrer, current.expected); + }); + current.test.done(); + }), + 800); + + }; + + add_result_callback(runNextTest); + runNextTest(); +} + +function createSvg() { + let svg = document.createElementNS(svg_ns, 'svg'); + svg.setAttribute('width', '400'); + svg.setAttribute('height', '400'); + let path = document.createElementNS(svg_ns, 'path'); + path.setAttribute('d', 'M 50,5 95,100 5,100 z'); + svg.appendChild(path); + return svg; +} |