gecko-dev/dom/svg/test/test_getTotalLength.xhtml

58 строки
1.9 KiB
HTML

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=1474284
-->
<head>
<title>Test for Bug 1474284</title>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1474284">Mozilla Bug 1474284</a>
<p id="display"></p>
<svg xmlns="http://www.w3.org/2000/svg">
<path id="path1" stroke="#000" fill="none"
d="M 50,40
C 50,40 0,60 30,20"/>
<symbol font-size="10" width="20em" height="20em">
<rect id="r1" x="5em" y="6em" width="20%" height="30%" />
</symbol>
</svg>
<pre id="test">
<script class="testbody" type="application/javascript">
SimpleTest.waitForExplicitFinish();
function run() {
isfuzzy(document.getElementById("path1").getTotalLength(),
55.19, 0.02,
'getTotalLength() on element id="path1" returned the wrong value');
let r1 = document.getElementById("r1");
is(r1.getTotalLength(), 200, "getTotalLength() should work for non-rendered element");
let r2 = document.createElementNS("http://www.w3.org/2000/svg", "rect");
r2.setAttribute("width", 200);
r2.setAttribute("height", 300);
is(r2.getTotalLength(), 1000, "getTotalLength() should work for a rect element not in the document");
let c = document.createElementNS("http://www.w3.org/2000/svg", "circle");
c.setAttribute("r", 200);
isfuzzy(c.getTotalLength(), 2 * Math.PI * 200, 0.2, "getTotalLength() should work for a circle element not in the document");
let e = document.createElementNS("http://www.w3.org/2000/svg", "ellipse");
e.setAttribute("rx", 200);
e.setAttribute("ry", 200);
isfuzzy(e.getTotalLength(), 2 * Math.PI * 200, 0.2, "getTotalLength() should work for an ellipse element not in the document");
SimpleTest.finish();
}
window.addEventListener("load", run);
</script>
</pre>
</body>
</html>