diff options
Diffstat (limited to 'testing/web-platform/tests/svg/struct/scripted/svg-checkIntersection-002.svg')
-rw-r--r-- | testing/web-platform/tests/svg/struct/scripted/svg-checkIntersection-002.svg | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/testing/web-platform/tests/svg/struct/scripted/svg-checkIntersection-002.svg b/testing/web-platform/tests/svg/struct/scripted/svg-checkIntersection-002.svg new file mode 100644 index 0000000000..1ff1f7829f --- /dev/null +++ b/testing/web-platform/tests/svg/struct/scripted/svg-checkIntersection-002.svg @@ -0,0 +1,40 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:h="http://www.w3.org/1999/xhtml"> + <title>checkIntersection()</title> + <h:link rel="help" href="https://svgwg.org/svg2-draft/struct.html#__svg__SVGSVGElement__checkIntersection"/> + <h:script src="/resources/testharness.js"/> + <h:script src="/resources/testharnessreport.js"/> + + <g id="g_outer"> + <g id="g_inner_top"> + <rect id="r_top_left" width="50" height="50"/> + <rect x="50" width="50" height="50"/> + </g> + <g transform="translate(0, 50)"> + <rect width="50" height="50"/> + <rect x="50" width="50" height="50"/> + </g> + </g> + <script> + function makeRect(x, y, width, height) { + const svg = document.documentElement; + return Object.assign(svg.createSVGRect(), {x, y, width, height}); + } + test(t => { + [ + { element: 'r_top_left', rect: [10, 10, 10, 10], expected: true }, + { element: 'r_top_left', rect: [10, 10, 80, 10], expected: true }, + { element: 'r_top_left', rect: [60, 10, 10, 10], expected: false }, + { element: 'g_inner_top', rect: [10, 10, 80, 10], expected: true }, + { element: 'g_inner_top', rect: [60, 10, 10, 10], expected: false }, + { element: 'g_outer', rect: [10, 10, 80, 10], expected: false }, + { element: 'g_outer', rect: [10, 10, 80, 80], expected: true }, + ].forEach(testcase => { + const element = document.getElementById(testcase.element); + const rect = makeRect(...testcase.rect); + const svg = document.documentElement; + assert_equals(svg.checkIntersection(element, rect), testcase.expected, + `${document.title}, element ${testcase.element} rect ${testcase.rect}`); + }); + }); + </script> +</svg> |