| <!DOCTYPE html> | |
| <meta charset="utf-8"> | |
| <title>Test: </title> | |
| <link rel="help" href="https://svgwg.org/svg2-draft/interact.html#ScriptElement"> | |
| <meta name="assert" content="The same scripts can work on both HTML and SVG elements."> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script>var total = 0;</script> | |
| <script>function s0() { total += 100; return s1(); }</script> | |
| <svg> | |
| <script>function s1() { total += 20; return s2(); }</script> | |
| <g> | |
| <script>function s2() { return s3(); }</script> | |
| <circle id="spot"><clipPath id="spot-first-child"/> | |
| <script>function s3() { return s4(); }</script> | |
| </circle> | |
| </g> | |
| <desc> | |
| <script>function s4() { return s5(); }</script> | |
| </desc> | |
| <filter> | |
| <script>function s5() { return s6(); }</script> | |
| <feFlood> | |
| <script>function s6() { return s7(); }</script> | |
| </feFlood> | |
| </filter> | |
| <text> | |
| <script>function s7() { return s8(); }</script> | |
| <tspan> | |
| <script>function s8() { return s9(); }</script> | |
| </tspan> | |
| </text> | |
| <use href="spot"> | |
| <script>function s9() { return s10(); }</script> | |
| </use> | |
| </svg> | |
| <div id="box"><script id="box-first-child">function s10() { total += 3; return s11(); }</script> | |
| <span> | |
| <script>function s11() { return 'same'; }</script> | |
| </span> | |
| </div> | |
| <script> | |
| test(function(){ | |
| assert_equals(s0(), 'same'); | |
| assert_equals(total, 123); | |
| for (let elementName of ['spot', 'box']) { | |
| let element = document.getElementById(elementName); | |
| let firstChild = element.firstChild; | |
| assert_equals(firstChild.id, elementName + '-first-child'); | |
| } | |
| }, 'The same scripts work on both HTML and SVG elements'); | |
| </script> |