<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body style="margin: 0px; padding: 0px">

<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="4000">
    <rect x="350" y="1950" width="100" height="100" fill="navy" fill-opacity="0.5"/>
    <circle r="50" fill="lightcoral"/>
    <text text-anchor="middle" x="400" y="2100">The test passes if the circle sits in the rect</text>
</svg>

<script type="text/javascript">
var svg = document.getElementsByTagName("svg")[0];
var dot = document.getElementsByTagName("circle")[0];

window.addEventListener("mousemove", mousemove, false);
window.scrollTo(0, 1700);

if (window.eventSender)
    eventSender.mouseMoveTo(400, 300);

function mousemove(evt) {
    var point = svg.createSVGPoint();
    point.x = evt.clientX;
    point.y = evt.clientY;
    point = point.matrixTransform(svg.getScreenCTM().inverse());
    dot.setAttribute("cx", point.x);
    dot.setAttribute("cy", point.y);
}
</script>
</body>
</html>
