43 lines
2.8 KiB
HTML
43 lines
2.8 KiB
HTML
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
description("Ensures the svg href attribute can work without having to be prefixed by the xlink namespace.");
|
|
|
|
var tagHrefTable = [
|
|
{ tagName: "a", xlinkValue: "www.webkit.org", svgValue: "www.build.webkit.org" },
|
|
{ tagName: "feImage", xlinkValue: "resources/red-checker.png", svgValue: "resources/green-checker.png" },
|
|
{ tagName: "filter", xlinkValue: "base-filter-1", svgValue: "base-filter-2" },
|
|
{ tagName: "image", xlinkValue: "resources/red-checker.png", svgValue: "resources/green-checker.png" },
|
|
{ tagName: "linearGradient", xlinkValue: "#base-linear-gradient-1", svgValue: "#base-linear-gradient-2" },
|
|
{ tagName: "pattern", xlinkValue: "#base-pattern-1", svgValue: "#base-pattern-2" },
|
|
{ tagName: "radialGradient", xlinkValue: "#base-radial-gradient-1", svgValue: "#base-radial-gradient-2" },
|
|
{ tagName: "textPath", xlinkValue: "#text-path-1", svgValue: "#text-path-2" },
|
|
{ tagName: "use", xlinkValue: "#red-rect", svgValue: "#green-rect" },
|
|
];
|
|
|
|
tagHrefTable.forEach(function(tagHref) {
|
|
window.element = document.createElementNS("http://www.w3.org/2000/svg", tagHref.tagName);
|
|
shouldBeEqualToString("window.element.tagName", tagHref.tagName);
|
|
|
|
window.element.setAttributeNS("http://www.w3.org/1999/xlink", "href", tagHref.xlinkValue);
|
|
shouldBeEqualToString("window.element.getAttributeNS('http://www.w3.org/1999/xlink', 'href')", tagHref.xlinkValue);
|
|
shouldBeEqualToString("window.element.getAttribute('href')", tagHref.xlinkValue);
|
|
window.element.removeAttributeNS('http://www.w3.org/1999/xlink', "href");
|
|
|
|
window.element.setAttributeNS("http://www.w3.org/2000/svg", "href", tagHref.svgValue);
|
|
shouldBeNull("window.element.getAttributeNS('http://www.w3.org/1999/xlink', 'href')");
|
|
shouldBeEqualToString("window.element.getAttribute('href')", tagHref.svgValue);
|
|
window.element.removeAttributeNS("http://www.w3.org/2000/svg", "href");
|
|
|
|
window.element.setAttribute("href", tagHref.svgValue);
|
|
shouldBeNull("window.element.getAttributeNS('http://www.w3.org/1999/xlink', 'href')");
|
|
shouldBeNull("window.element.getAttributeNS('http://www.w3.org/2000/svg', 'href')");
|
|
shouldBeEqualToString("window.element.getAttribute('href')", tagHref.svgValue);
|
|
shouldBeEqualToString("window.element.href.baseVal", tagHref.svgValue);
|
|
});
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|