<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="reportLoadEvent(this);runTest();">
  <script>
    <![CDATA[
      if (window.testRunner)
        testRunner.dumpAsText();

      var results = new Array();

      function reportLoadEvent(el) {
		results.push(el.localName);
      }
      function runTest()
      {
        var test = document.getElementById("console");
        if ( results.length != 4 || results[0] != "text" ||
             results[1] != "image" || results[2] != "g" ||
             results[3] != "svg") {
          test.appendChild(document.createTextNode("Failed"));
        } else {
          test.appendChild(document.createTextNode("Passed"));
        }
      }
    ]]>
  </script>
  <g onload="reportLoadEvent(this)">
    <image externalResourcesRequired="true" id="image" onload="reportLoadEvent(this)" width="100" height="100" xlink:href="resources/green-checker.png" />
    <text y="130" x="20">This tests load dispatching order with externalResourcesRequired. Bug 16447</text>
    <text y="150" x="20" id="console" onload="reportLoadEvent(this)"/>
  </g>
</svg>
