53 lines
1.5 KiB
HTML
53 lines
1.5 KiB
HTML
<!DOCTYPE html>
|
|
<head>
|
|
<style>
|
|
* { margin: 0; padding: 0; }
|
|
svg { width: 200px; height: 100px; }
|
|
a div { width: 200px; height: 100px; background-color: yellow; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<a href="#" class="icon-link">
|
|
<svg>
|
|
<defs>
|
|
<rect id="blue-rectangle" width="200" height="100" style="fill:#00f;" />
|
|
</defs>
|
|
<use xlink:href="#blue-rectangle"></use>
|
|
</svg>
|
|
<div></div>
|
|
</a>
|
|
|
|
<div class="log"></div>
|
|
|
|
<script>
|
|
var expected = null;
|
|
|
|
if (window.testRunner)
|
|
testRunner.dumpAsText();
|
|
|
|
function clickAt(x, y, expectedElement)
|
|
{
|
|
expected = expectedElement;
|
|
if (window.eventSender) {
|
|
eventSender.mouseMoveTo(x, y);
|
|
eventSender.mouseDown();
|
|
eventSender.mouseUp();
|
|
}
|
|
expected = null;
|
|
}
|
|
|
|
document.querySelector("a").addEventListener("click", function(event) {
|
|
var result = "";
|
|
if (event.target == expected)
|
|
result = "PASS - " + event.target + " was clicked.";
|
|
else
|
|
result = "FAIL - expected " + expected + " but got " + event.target + ".";
|
|
document.querySelector('.log').innerHTML += result + '<br />';
|
|
event.preventDefault();
|
|
}, false);
|
|
|
|
clickAt(50, 50, document.querySelector("use"));
|
|
clickAt(50, 130, document.querySelector("a div"));
|
|
</script>
|
|
</body>
|