blob: 01b8263ab61cf8a22623befe577db4d93aa5dcb3 [file] [log] [blame]
<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>