<!DOCTYPE html>
<title>Hit-test of clip-path polygon</title>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<style>
body {
margin: 0;
}
#target {
fill: blue;
clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
}
</style>
<svg>
<rect id="target" x="50" y="25" width="100" height="100"/>
</svg>
<script>
function assert_element_at(element, pointlist) {
for (var point of pointlist) {
var result = document.elementFromPoint(point[0], point[1]);
assert_equals(result, element, point.join(','));
}
}
test(function() {
var div = document.querySelector('#target');
// Points inside clip-path.
assert_element_at(div, [[100, 75], [100, 50], [100, 100], [75, 75], [125, 75]]);
// Points outside clip-path.
assert_element_at(document.querySelector('svg'), [[70, 45], [130, 45], [70, 105], [130, 105]]);
});
</script>