<!DOCTYPE html>
<html>
<head>
<title>This test that dashed borders are painted.</title>
<style>
  .borderBox {
    position: absolute;
    width: 30px;
    height: 30px;
    border-style: dashed;
    border-color: red;
  }
  
  .hide {
    position: fixed;
    width: 4px;
    height: 4px;
    background-color: white;
  }
</style>
<head>
<body>
<script>
  var borderWidth = 1;
  var x = 0;
  var y = 0;
  var cornerBoxSize = 0;
  for (var i = 0; i < 10; ++i) {
      w = 20 * i;
      h = 20 * i;
      cornerBoxSize = 2 * borderWidth;
      
      var e = document.createElement("div");
      e.className = "borderBox";
      e.style.top =  y + "px";
      e.style.left = x + "px";
      e.style.width = w + "px";
      e.style.height = h + "px";
      e.style.borderWidth = borderWidth + "px";
      document.body.appendChild(e);

      var hb1 = document.createElement("div");
      hb1.className = "hide";
      hb1.style.top = y + "px";
      hb1.style.left = x + "px";
      hb1.style.width = cornerBoxSize + "px";
      hb1.style.height = cornerBoxSize + "px";
      document.body.appendChild(hb1);

      var hb2 = document.createElement("div");
      hb2.className = "hide";
      hb2.style.top = y + "px";
      hb2.style.left = x + w + "px";
      hb2.style.width = cornerBoxSize + "px";
      hb2.style.height = cornerBoxSize + "px";
      document.body.appendChild(hb2);

      var hb3 = document.createElement("div");
      hb3.className = "hide";
      hb3.style.top = y + h + "px";
      hb3.style.left = x + "px";
      hb3.style.width = cornerBoxSize + "px";
      hb3.style.height = cornerBoxSize + "px";
      document.body.appendChild(hb3);

      var hb4 = document.createElement("div");
      hb4.className = "hide";
      hb4.style.top = y + w + "px";
      hb4.style.left = x + h + "px";
      hb4.style.width = cornerBoxSize + "px";
      hb4.style.height = cornerBoxSize + "px";
      document.body.appendChild(hb4);
      
      borderWidth += 1;
      x += (w + 2 * borderWidth);
  }
</script>
</body>
</html>
