mirror of
https://github.com/servo/servo.git
synced 2025-07-14 02:43:42 +01:00
62 lines
1.8 KiB
JavaScript
62 lines
1.8 KiB
JavaScript
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,
|
|
};
|
|
|
|
current.test.step(function() { testFunction(current) });
|
|
|
|
let check_url = url_prefix + "svg.py" + "?id=" + current.id +
|
|
"&report-headers";
|
|
current.test.step_timeout(function() {
|
|
queryXhr(check_url, function(message) {
|
|
assert_own_property(message, "headers");
|
|
assert_own_property(message, "referrer");
|
|
assert_equals(message.referrer, current.expected);
|
|
current.test.done();
|
|
}, null, null, current.test);
|
|
}, 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;
|
|
}
|