40 lines
1.5 KiB
HTML
40 lines
1.5 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("Test SVG path.getPathSegAtLength().");
|
|
/*
|
|
getPathSegAtLength() returns the index into pathSegList which is distance units along the path.
|
|
Parameters
|
|
in float distance The distance along the path, relative to the start of the path, as a distance in the current user coordinate system.
|
|
Return value
|
|
unsigned long The index of the path segment, where the first path segment is number 0.
|
|
|
|
See specification for detail: http://www.w3.org/TR/SVG/paths.html#DistanceAlongAPath
|
|
*/
|
|
|
|
path = document.createElementNS("http://www.w3.org/2000/svg", "path");
|
|
path.setAttributeNS(null, "d", "M0 0 L0 5 L5 5 L 5 0");
|
|
shouldBe("path.getPathSegAtLength(0)", "0");
|
|
shouldBe("path.getPathSegAtLength(1)", "1");
|
|
shouldBe("path.getPathSegAtLength(5)", "1");
|
|
shouldBe("path.getPathSegAtLength(6)", "2");
|
|
shouldBe("path.getPathSegAtLength(10)", "2");
|
|
shouldBe("path.getPathSegAtLength(11)", "3");
|
|
// WebKit/Opera/FF all return the last path segment if the distance exceeds the actual path length:
|
|
shouldBe("path.getPathSegAtLength(16)", "3");
|
|
shouldBe("path.getPathSegAtLength(20)", "3");
|
|
shouldBe("path.getPathSegAtLength(24)", "3");
|
|
shouldBe("path.getPathSegAtLength(25)", "3");
|
|
shouldBe("path.getPathSegAtLength(100)", "3");
|
|
successfullyParsed = true;
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|