<svg version="1.1" baseProfile="basic" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  <defs>
   <rect id="reference" x="240" y="1" width="239" height="358"/>

   <script type="text/ecmascript">
    <![CDATA[
    if (window.layoutTestController)
        layoutTestController.waitUntilDone();

    window.setTimeout("clickNow()", 0);

    function clickNow() {
        if (window.eventSender) {
            eventSender.mouseMoveTo(250, 50);
            eventSender.mouseDown();
            eventSender.mouseUp();
        }

        if (window.layoutTestController) {
            layoutTestController.notifyDone();
        }
    }

    function test (event) {
        document.getElementById("text").firstChild.nodeValue = "Test passed.";
      }
    ]]>
    </script>
  </defs>

  <use id="use" onclick="test(evt)" xlink:href="#reference" fill="grey"/>

  <text id="text" transform="translate(5,20)">Test failed.</text>
  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
</svg>
