77 lines
3.1 KiB
HTML
77 lines
3.1 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<p id="description"></p>
|
|
<div id="console"></div>
|
|
<script>
|
|
description("This test checks the SVGLength API");
|
|
|
|
var svgElement = document.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
var length = svgElement.createSVGLength();
|
|
|
|
debug("");
|
|
debug("Check initial length values");
|
|
shouldBe("length.unitType", "SVGLength.SVG_LENGTHTYPE_NUMBER");
|
|
shouldBe("length.value", "0");
|
|
shouldBe("length.valueInSpecifiedUnits", "0");
|
|
shouldBeEqualToString("length.valueAsString", "0");
|
|
|
|
debug("");
|
|
debug("Set value to be 2px");
|
|
length.valueAsString = "2px";
|
|
shouldBe("length.unitType", "SVGLength.SVG_LENGTHTYPE_PX");
|
|
shouldBe("length.value", "2");
|
|
shouldBe("length.valueInSpecifiedUnits", "2");
|
|
shouldBeEqualToString("length.valueAsString", "2px");
|
|
|
|
debug("");
|
|
debug("Check invalid arguments for 'convertToSpecifiedUnits'");
|
|
shouldThrow("length.convertToSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_UNKNOWN)");
|
|
shouldThrow("length.convertToSpecifiedUnits(-1)");
|
|
shouldThrow("length.convertToSpecifiedUnits(11)");
|
|
shouldThrow("length.convertToSpecifiedUnits('aString')");
|
|
shouldThrow("length.convertToSpecifiedUnits(length)");
|
|
shouldThrow("length.convertToSpecifiedUnits(svgElement)");
|
|
shouldThrow("length.convertToSpecifiedUnits()");
|
|
shouldBe("length.unitType", "SVGLength.SVG_LENGTHTYPE_PX");
|
|
shouldBe("length.value", "2");
|
|
shouldBe("length.valueInSpecifiedUnits", "2");
|
|
shouldBe("length.unitType", "SVGLength.SVG_LENGTHTYPE_PX");
|
|
|
|
debug("");
|
|
debug("Check invalid arguments for 'newValueSpecifiedUnits'");
|
|
shouldThrow("length.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_UNKNOWN, 4)");
|
|
shouldThrow("length.newValueSpecifiedUnits(-1, 4)");
|
|
shouldThrow("length.newValueSpecifiedUnits(11, 4)");
|
|
// ECMA-262, 9.3, "ToNumber"
|
|
shouldBeUndefined("length.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX, 'aString')");
|
|
shouldBe("length.value", "NaN");
|
|
shouldBeUndefined("length.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX, 0)");
|
|
shouldBeUndefined("length.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX, length)");
|
|
shouldBe("length.value", "NaN");
|
|
shouldBeUndefined("length.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX, 0)");
|
|
shouldBeUndefined("length.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX, svgElement)");
|
|
shouldBe("length.value", "NaN");
|
|
shouldThrow("length.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX)");
|
|
// Reset to original value above.
|
|
length.valueAsString = "2px";
|
|
shouldThrow("length.newValueSpecifiedUnits('aString', 4)");
|
|
shouldThrow("length.newValueSpecifiedUnits(length, 4)");
|
|
shouldThrow("length.newValueSpecifiedUnits(svgElement, 4)");
|
|
shouldThrow("length.newValueSpecifiedUnits('aString', 'aString')");
|
|
shouldThrow("length.newValueSpecifiedUnits(length, length)");
|
|
shouldThrow("length.newValueSpecifiedUnits(svgElement, svgElement)");
|
|
shouldBe("length.unitType", "SVGLength.SVG_LENGTHTYPE_PX");
|
|
shouldBe("length.value", "2");
|
|
shouldBe("length.valueInSpecifiedUnits", "2");
|
|
shouldBe("length.unitType", "SVGLength.SVG_LENGTHTYPE_PX");
|
|
|
|
successfullyParsed = true;
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|