<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" id="root" onload="runTest()">
  <script>
  if (window.testRunner)
    testRunner.dumpAsText();

  function runTest()
  {
    var testSVG = document.getElementById('root');
    var r = testSVG.createSVGRect();
    r.x = 0;
    r.y = 0;
    r.width = 100;
    r.height = 100;

    var content = testSVG.getIntersectionList(r, testSVG).length == 1 ? 'PASS' : 'FAIL';
    var txt = document.createElementNS("http://www.w3.org/2000/svg", "text");
    txt.appendChild(document.createTextNode(content));
    testSVG.appendChild(txt);
  }
  </script>
  <rect x="0" y="0" width="200" height="200"/>
  <clipPath id="MyClip">
    <rect y="100" width="200" height="100"/>
  </clipPath>
  <rect x="0" y="0" width="200" height="200" clip-path="url(#MyClip)" fill="green"/>
</svg>
