<!-- Test the bounding box calculated for two perpendicular lines of length 100px created with the polyline 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">
    <polyline stroke="#666666" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" points="5,5 5,105" fill-rule="nonzero" />
    <polyline 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>
