<!DOCTYPE html>
<html>
<head>
<title>This test that dotted borders are painted. It takes advantage of the fact that borders with radius get through a different code path (Path vs. drawLine).</title>
<style>
  .borderBox {
    position: absolute;
    width: 30px;
    height: 30px;
    border-style: dotted;
    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";
      e.style.borderRadius = borderWidth + 1 + "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>
