wpt / css / css-borders / outline-offset-rounding.tentative.html

Status: PASS | Duration: 56ms | Subtests: 20/20 | Open test on wpt.live | wpt.fyi

Data from commit:
a50cb89 wpt: run reference-named files which are themselves tests (#836) (2026-09-03)

SubtestStatusMessage
0pxPASS
-0pxPASS
0.1pxPASS
-0.1pxPASS
0.25pxPASS
-0.25pxPASS
0.5pxPASS
-0.5pxPASS
0.9pxPASS
-0.9pxPASS
1pxPASS
-1pxPASS
1.25pxPASS
-1.25pxPASS
1.5pxPASS
-1.5pxPASS
2pxPASS
-2pxPASS
2.75pxPASS
-2.75pxPASS

/css/css-borders/outline-offset-rounding.tentative.html

<!doctype html>
<title>outline-offset gets snapped like outline-width</title>
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/12906">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<body>
<script>
  const values = [
    { input: "0px", expected: "0px" },
    { input: "0.1px", expected: "1px" },
    { input: "0.25px", expected: "1px" },
    { input: "0.5px", expected: "1px" },
    { input: "0.9px", expected: "1px" },
    { input: "1px", expected: "1px" },
    { input: "1.25px", expected: "1px" },
    { input: "1.5px", expected: "1px" },
    { input: "2px", expected: "2px" },
    { input: "2.75px", expected: "2px" },
  ];

  for (const {input, expected} of values) {
    test(function() {
      const div = document.createElement("div");
      div.style.outlineOffset = input;
      document.body.appendChild(div);
      assert_equals(getComputedStyle(div).outlineOffset, expected);
    }, input)

    let negExpected = input == "0px" ? "0px" : "-" + expected;
    test(function() {
      const div = document.createElement("div");
      div.style.outlineOffset = "-" + input;
      document.body.appendChild(div);
      assert_equals(getComputedStyle(div).outlineOffset, negExpected);
    }, "-" + input)
  }
</script>