89 lines
3.4 KiB
HTML
89 lines
3.4 KiB
HTML
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<script>window.enablePixelTesting = true;</script>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<svg id="svg" xmlns="http://www.w3.org/2000/svg" width="200" height="200">
|
|
<text id="text1" x="50 100" rotate="90 180 270">ABC</text>
|
|
</svg>
|
|
|
|
<p id="description"></p>
|
|
<div id="console"></div>
|
|
<script type="text/javascript">
|
|
<![CDATA[
|
|
description("This is a test of the 'length' attribute and the indexed property access of the SVGLengthList interface.");
|
|
|
|
if (window.testRunner)
|
|
testRunner.dumpAsText();
|
|
|
|
var svg = document.getElementById("svg");
|
|
var text1 = document.getElementById("text1");
|
|
|
|
var length1 = svg.createSVGLength();
|
|
var length2 = svg.createSVGLength();
|
|
var number1 = svg.createSVGNumber();
|
|
var number2 = svg.createSVGNumber();
|
|
var number3 = svg.createSVGNumber();
|
|
length1.value = 40;
|
|
length2.value = 80;
|
|
number1.value = 45;
|
|
number2.value = 90;
|
|
number3.value = 135;
|
|
|
|
debug("Test list length/numberOfItems");
|
|
shouldBe("text1.x.baseVal.length", "2");
|
|
shouldBe("text1.x.baseVal.numberOfItems", "2");
|
|
shouldBe("text1.rotate.baseVal.length", "3");
|
|
shouldBe("text1.rotate.baseVal.numberOfItems", "3");
|
|
|
|
debug("");
|
|
debug("Test item getter");
|
|
shouldBe("text1.x.baseVal.getItem(0).value", "50");
|
|
shouldBe("text1.x.baseVal[0].value", "50");
|
|
shouldBe("text1.x.baseVal.getItem(1).value", "100");
|
|
shouldBe("text1.x.baseVal[1].value", "100");
|
|
shouldThrow("text1.x.baseVal.getItem(2)");
|
|
shouldBeUndefined("text1.x.baseVal[2]");
|
|
debug("");
|
|
shouldBe("text1.rotate.baseVal.getItem(0).value", "90");
|
|
shouldBe("text1.rotate.baseVal[0].value", "90");
|
|
shouldBe("text1.rotate.baseVal.getItem(1).value", "180");
|
|
shouldBe("text1.rotate.baseVal[1].value", "180");
|
|
shouldBe("text1.rotate.baseVal.getItem(2).value", "270");
|
|
shouldBe("text1.rotate.baseVal[2].value", "270");
|
|
shouldThrow("text1.rotate.baseVal.getItem(3)");
|
|
shouldBeUndefined("text1.rotate.baseVal[3]");
|
|
|
|
debug("");
|
|
debug("Test item setter");
|
|
shouldBe("text1.x.baseVal[0] = length1", "length1");
|
|
shouldBe("text1.x.baseVal[1] = length2", "length2");
|
|
shouldBe("text1.x.baseVal.getItem(0).value", "40");
|
|
shouldBe("text1.x.baseVal[0].value", "40");
|
|
shouldBe("text1.x.baseVal.getItem(1).value", "80");
|
|
shouldBe("text1.x.baseVal[1].value", "80");
|
|
shouldThrow("text1.x.baseVal[1] = 0");
|
|
shouldThrow("text1.x.baseVal[1] = 'aString'");
|
|
shouldThrow("text1.x.baseVal[1] = null");
|
|
shouldThrow("text1.x.baseVal[2] = length2");
|
|
debug("");
|
|
shouldBe("text1.rotate.baseVal[0] = number1", "number1");
|
|
shouldBe("text1.rotate.baseVal[1] = number2", "number2");
|
|
shouldBe("text1.rotate.baseVal[2] = number3", "number3");
|
|
shouldBe("text1.rotate.baseVal.getItem(0).value", "45");
|
|
shouldBe("text1.rotate.baseVal[0].value", "45");
|
|
shouldBe("text1.rotate.baseVal.getItem(1).value", "90");
|
|
shouldBe("text1.rotate.baseVal[1].value", "90");
|
|
shouldBe("text1.rotate.baseVal.getItem(2).value", "135");
|
|
shouldBe("text1.rotate.baseVal[2].value", "135");
|
|
shouldThrow("text1.rotate.baseVal[2] = 0");
|
|
shouldThrow("text1.rotate.baseVal[2] = 'aString'");
|
|
shouldThrow("text1.rotate.baseVal[2] = null");
|
|
shouldThrow("text1.rotate.baseVal[3] = number3");
|
|
]]>
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|