69 lines
2.6 KiB
HTML
69 lines
2.6 KiB
HTML
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body onload="run()">
|
|
<svg id="svg" xmlns="http://www.w3.org/2000/svg" width="200" height="200">
|
|
<ellipse id="e1" cx="85" cy="60" rx="75" ry="50" fill="none" stroke="black" stroke-width="20"/>
|
|
</svg>
|
|
<p id="description"></p>
|
|
<div id="console"></div>
|
|
<script type="text/javascript">
|
|
<![CDATA[
|
|
window.enablePixelTesting = false;
|
|
window.jsTestIsAsync = true;
|
|
var e1 = document.getElementById("e1");
|
|
|
|
function run() {
|
|
description("Test SVGGeometryElement APIs for ellipse.");
|
|
|
|
debug("");
|
|
debug("Test isPointInFill()");
|
|
shouldBeFalse("e1.isPointInFill({})");
|
|
shouldBeTrue("e1.isPointInFill({x: 159, y: 60})");
|
|
shouldBeFalse("e1.isPointInFill({x: 161, y: 60})");
|
|
|
|
shouldBeTrue("e1.isPointInFill({x: 85, y: 109})");
|
|
shouldBeFalse("e1.isPointInFill({x: 85, y: 111})");
|
|
shouldBeTrue("e1.isPointInFill({x: 11, y: 60})");
|
|
shouldBeFalse("e1.isPointInFill({x: 9, y: 60})");
|
|
shouldBeTrue("e1.isPointInFill({x: 85, y: 11})");
|
|
shouldBeFalse("e1.isPointInFill({x: 85, y: 9})");
|
|
|
|
debug("");
|
|
debug("Test isPointInStroke()");
|
|
shouldBeFalse("e1.isPointInStroke({})");
|
|
shouldBeTrue("e1.isPointInStroke({x: 151, y: 60})");
|
|
shouldBeFalse("e1.isPointInStroke({x: 149, y: 60})");
|
|
shouldBeTrue("e1.isPointInStroke({x: 85, y: 101})");
|
|
shouldBeFalse("e1.isPointInStroke({x: 85, y: 99})");
|
|
shouldBeTrue("e1.isPointInStroke({x: 19, y: 60})");
|
|
shouldBeFalse("e1.isPointInStroke({x: 21, y: 60})");
|
|
shouldBeTrue("e1.isPointInStroke({x: 85, y: 19})");
|
|
shouldBeFalse("e1.isPointInStroke({x: 85, y: 21})");
|
|
|
|
debug("");
|
|
debug("Test getTotalLength()");
|
|
shouldBeCloseTo("e1.getTotalLength()", Math.PI * (75 + 50), 5);
|
|
|
|
debug("");
|
|
debug("Test getPointAtLength()");
|
|
shouldBeCloseTo("e1.getPointAtLength(0).x", 160, 0.1);
|
|
shouldBeCloseTo("e1.getPointAtLength(0).y", 60, 0.1);
|
|
shouldBeCloseTo("e1.getPointAtLength(Math.PI * (75 + 50) / 4).x", 85, 3);
|
|
shouldBeCloseTo("e1.getPointAtLength(Math.PI * (75 + 50) / 4).y", 110, 3);
|
|
shouldBeCloseTo("e1.getPointAtLength(Math.PI * (75 + 50) / 2).x", 10, 3);
|
|
shouldBeCloseTo("e1.getPointAtLength(Math.PI * (75 + 50) / 2).y", 60, 3);
|
|
shouldBeCloseTo("e1.getPointAtLength(Math.PI * (75 + 50) / 8).x", 133, 3);
|
|
shouldBeCloseTo("e1.getPointAtLength(Math.PI * (75 + 50) / 8).y", 98, 3);
|
|
shouldBeCloseTo("e1.getPointAtLength(Math.PI * (75 + 50) * 2).x", 160, 3);
|
|
shouldBeCloseTo("e1.getPointAtLength(Math.PI * (75 + 50) * 2).y", 60, 3);
|
|
|
|
finishJSTest();
|
|
}
|
|
]]>
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|