| <!DOCTYPE html> |
| <style> |
| svg { |
| margin: 0px; |
| padding: 0px; |
| position: absolute; |
| top: 0px; |
| left: 0px; |
| } |
| </style> |
| <body> |
| <svg x="0" y="0"> |
| <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"></path> |
| </svg> |
| </svg> |
| |
| <script src="../../resources/js-test.js"></script> |
| <script> |
| description("Test that hit-test works for a path whose x/y ranges have different magnitude."); |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| |
| var resultString = ""; |
| var pathElement = document.getElementById("path"); |
| |
| var pointsInPath = [ |
| {x: 5, y: 104}, |
| {x: 5, y: 107}, |
| {x: 5, y: 110} |
| ]; |
| |
| var pointsNotInPath = [ |
| {x: 5, y: 103}, |
| {x: 5, y: 111} |
| ]; |
| |
| pointsInPath.forEach( function(point) { |
| var pass = (pathElement == document.elementFromPoint(point.x, point.y)); |
| resultString += ((pass) ? "PASS" : "FAIL") + " path contains point at (" + point.x + ", " + point.y + ")\n"; |
| }); |
| pointsNotInPath.forEach( function(point) { |
| var pass = (pathElement != document.elementFromPoint(point.x, point.y)); |
| resultString += ((pass) ? "PASS" : "FAIL") + " path does not contain point at (" + point.x + ", " + point.y + ")\n"; |
| }); |
| |
| debug(resultString); |
| </script> |
| </body> |