<!DOCTYPE html>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>

<body>
</body>

<script>
var values = [
  {input:"0px", expected:"0px"},
  {input:"0.9px", expected:"1px"},
  {input:"1px", expected:"1px"},
  {input:"0.2px", expected:"1px"},
  {input:"0.9pt", expected:"1px"},
  {input:"1pt", expected:"1px"},
  {input:"0.2pt", expected:"1px"},
  {input:"1.9pt", expected:"2px"},
  {input:"1pt", expected:"1px"},
  {input:"1.2pt", expected:"1px"},
  {input:"2.1px", expected:"2px"},
  {input:"2.9px", expected:"2px"}
];

for (var value of values) {
  var div = document.createElement("div");
  div.style = "outline: solid " + value.input + " red; margin-bottom: 20px;";
  document.body.appendChild(div);
}

test(function() {
  var targets = document.querySelectorAll("div");
  for (var i=0; i < targets.length; i++) {
    assert_equals(getComputedStyle(targets[i]).outlineWidth, values[i].expected);
  }
}, "Test that chrome rounds up all borders/outlines when they are less than 1px but greater than 0px but floors all other borders.");

</script>