<!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>