<!-- Test the bounding box calculated for two perpendicular lines of length 100px created with the polygon element -->
<!-- If the bounding box is 100x100, we consider this test passing. -->
<svg xmlns="http://www.w3.org/2000/svg" onload="init()">
  <script type="text/javascript">
  <![CDATA[
    function init()
    {
        if (window.testRunner)
            testRunner.dumpAsText();
        var txt = document.getElementById("text");
        size = document.getElementById("shape").getBBox();
        var passState = "FAIL";
        if(size.width == 100 && size.height == 100)
            passState = "PASS";
        var textNode = document.createTextNode(size.width + " " + size.height + " " + passState);
        txt.appendChild(textNode);
    }
  ]]>
  </script>
  <g id="shape">
    <polygon stroke="#666666" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" points="5,5 5,105" fill-rule="nonzero" />
    <polygon stroke="#666666" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" points="5,5 105,5" fill-rule="nonzero" />
  </g>
  <text id="text" x="50" y="50" />
</svg>
