<?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('askedForIntersection');
    var r = testSVG.createSVGRect();
    r.x = 0;
    r.y = 0;
    r.width = 100;
    r.height = 100;

    var content = testSVG.getIntersectionList(r, testSVG).length == 2 ? '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="100" height="100" id="r1"/>
    <svg id="askedForIntersection">
      <rect x="0" y="0" width="100" height="100" id="r2"/>
    <svg id="nestedSVG">
      <rect x="0" y="0" width="100" height="100" id="r3"/>
    </svg>
  </svg>
</svg>
