summaryrefslogtreecommitdiffstats
path: root/dom/svg/test/test_getTotalLength.xhtml
blob: 0809f40ca147a3d221d05d741cd0f57e770802da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<!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>