<!DOCTYPE html>
<html>
<head>
<title>This test that dashed borders are painted at all.</title>
<style>
  .borderBox {
    position: absolute;
    top: 0px;
    height: 10px;
    border-top: dashed red;
  }
  
  .hide {
    position: fixed;
    top: 0px;
    background-color: white;
  }
</style>
<head>
<body>
<script>
  var borderWidth = 1;
  var x = 0;
  for (var i = 1; i < 10; ++i) {
      w = 10 * i;

      var e = document.createElement("div");
      e.className = "borderBox";
      e.style.left = x + "px";
      e.style.width = w + "px";
      e.style.borderTopWidth = borderWidth + "px";
      document.body.appendChild(e);

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