35 lines
1.1 KiB
HTML
35 lines
1.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 tests getPointAtLength of SVG path.");
|
|
|
|
var pathElement = document.createElementNS("http://www.w3.org/2000/svg", "path");
|
|
|
|
function pointAtLengthOfPath(string) {
|
|
pathElement.setAttributeNS(null, "d", string);
|
|
|
|
var point = pathElement.getPointAtLength(700);
|
|
return "(" + Math.round(point.x) + ", " + Math.round(point.y) + ")";
|
|
}
|
|
|
|
shouldBe("pointAtLengthOfPath('M0,20 L400,20 L640,20')", "'(640, 20)'");
|
|
shouldBe("pointAtLengthOfPath('M0,20 L400,20 L640,20 z')", "'(580, 20)'");
|
|
shouldBe("pointAtLengthOfPath('M0,20 L400,20 z M 320,20 L640,20')", "'(100, 20)'");
|
|
shouldBe("pointAtLengthOfPath('M0,20 L20,40')", "'(20, 40)'");
|
|
shouldThrow("pathElement.getPointAtLength(Math.NaN)");
|
|
shouldThrow("pathElement.getPointAtLength()");
|
|
shouldThrow("pathElement.getPointAtLength(Math.Infinity)");
|
|
shouldThrow("pathElement.getPointAtLength('abc')");
|
|
|
|
var successfullyParsed = true;
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|