summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/svg/struct/scripted/svg-checkIntersection-002.svg
diff options
context:
space:
mode:
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.svg40
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>