diff options
Diffstat (limited to 'testing/web-platform/tests/svg/interact/scripted/svg-small-big-path.html')
-rw-r--r-- | testing/web-platform/tests/svg/interact/scripted/svg-small-big-path.html | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/testing/web-platform/tests/svg/interact/scripted/svg-small-big-path.html b/testing/web-platform/tests/svg/interact/scripted/svg-small-big-path.html new file mode 100644 index 0000000000..ba0e403f6d --- /dev/null +++ b/testing/web-platform/tests/svg/interact/scripted/svg-small-big-path.html @@ -0,0 +1,47 @@ +<!DOCTYPE html> +<title>Hit-test on a path whose x/y ranges have different magnitude</title> +<link rel="help" href="https://svgwg.org/svg2-draft/interact.html#hit-testing"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<style> + svg { + margin: 0px; + padding: 0px; + position: absolute; + top: 0px; + left: 0px; + } +</style> +<svg> + <svg x="-250000" width="500000" height="500"> + <path id="path" d="M 250005 104 l 19 0 l 3 3 l -3 3 l -19 0 z"/> + </svg> +</svg> +<script> +const pointsInPath = [ + {x: 5, y: 104}, + {x: 5, y: 107}, + {x: 5, y: 110} +]; + +const pointsNotInPath = [ + {x: 5, y: 103}, + {x: 5, y: 111} +]; + +setup(() => { + window.pathElement = document.getElementById("path"); +}); + +pointsInPath.forEach(point => { + test(t => { + assert_equals(pathElement, document.elementFromPoint(point.x, point.y)); + }, `${document.title}, path contains point at (${point.x}, ${point.y})`); +}); + +pointsNotInPath.forEach(point => { + test(t => { + assert_not_equals(pathElement, document.elementFromPoint(point.x, point.y)); + }, `${document.title}, path does not contain point at (${point.x}, ${point.y})`); +}); +</script> |