diff options
Diffstat (limited to 'testing/web-platform/tests/svg/geometry/svg-baseval-in-display-none.html')
-rw-r--r-- | testing/web-platform/tests/svg/geometry/svg-baseval-in-display-none.html | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/testing/web-platform/tests/svg/geometry/svg-baseval-in-display-none.html b/testing/web-platform/tests/svg/geometry/svg-baseval-in-display-none.html new file mode 100644 index 0000000000..fa52d1b4c3 --- /dev/null +++ b/testing/web-platform/tests/svg/geometry/svg-baseval-in-display-none.html @@ -0,0 +1,67 @@ +<!DOCTYPE html> +<title>baseVal in symbol and other display:none</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<link rel="help" href="https://svgwg.org/svg2-draft/types.html#InterfaceSVGAnimatedLength"/> +<link rel="help" href="https://svgwg.org/svg2-draft/types.html#__svg__SVGAnimatedLength__baseVal"/> +<svg width="0" height="0"> + <svg width="600" height="400" font-size="5"> + <symbol width="40em" height="20em"> + <g font-size="10px"> + <rect id="r1" x="5em" y="6em" width="20%" height="30%" /> + <circle id="c1" cx="5em" cy="6em" r="10em" /> + </g> + </symbol> + <g font-size="10px" style="display:none"> + <rect id="r2" x="5em" y="6em" width="20%" height="30%" /> + <circle id="c2" cx="5em" cy="6em" r="10em" /> + </g> + </svg> +</svg> +<script> + let r1 = document.getElementById("r1"), + c1 = document.getElementById("c1"), + r2 = document.getElementById("r2"), + c2 = document.getElementById("c2"); + + const assertBaseVal = (length, expected, info) => { + assert_equals(length.baseVal.value, expected, info); + }; + + let tEm = async_test("With em"); + let tEmDone = tEm.step_func_done(() => { + assertBaseVal(r1.x, 50, "r1.x"); + assertBaseVal(r1.y, 60, "r1.y"); + assertBaseVal(c1.cx, 50, "c1.cx"); + assertBaseVal(c1.cy, 60, "c1.cy"); + assertBaseVal(c1.r, 100, "c1.r"); + + assertBaseVal(r2.x, 50, "r2.x"); + assertBaseVal(r2.y, 60, "r2.y"); + assertBaseVal(c2.cx, 50, "c2.cx"); + assertBaseVal(c2.cy, 60, "c2.cy"); + assertBaseVal(c2.r, 100, "c2.r"); + }); + + let tEmPercentage = async_test("With em and percentage"); + let tEmPercentageDone = tEmPercentage.step_func_done(() => { + assertBaseVal(r1.width, 40, "r1.width"); + assertBaseVal(r1.height, 30, "r1.height"); + + assertBaseVal(r2.width, 120, "r2.width"); + assertBaseVal(r2.height, 120, "r2.height"); + }); + + const main = () => { + window.requestAnimationFrame(() => { + tEmDone(); + tEmPercentageDone(); + }); + }; + + if (document.readyState === "complete") { + main(); + } else { + window.addEventListener("load", main); + } +</script> |