| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <title>CSS Logical Properties and Values: getComputedValue().borderInlineWidth</title> |
| <link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-inline-width"> |
| <meta name="assert" content="border-inline-width is absolute length; zero if the border block style is none or hidden."> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/css/support/computed-testcommon.js"></script> |
| </head> |
| <body> |
| <div id="box"></div> |
| <div id="target"></div> |
| <style> |
| #box { |
| border-style: dotted; /* Avoid border-*-width computed style 0 */ |
| border-top-width: thin; |
| border-right-width: medium; |
| border-bottom-width: thick; |
| } |
| #target { |
| font-size: 40px; |
| border-inline-style: dotted; /* Avoid border-inline-*-width computed style 0 */ |
| } |
| </style> |
| <script> |
| 'use strict'; |
| const box = document.getElementById('box'); |
| const thinWidth = getComputedStyle(box).borderTopWidth; |
| const mediumWidth = getComputedStyle(box).borderRightWidth; |
| const thickWidth = getComputedStyle(box).borderBottomWidth; |
| |
| test_computed_value("border-inline-start-width", "calc(10px + 0.5em)", "30px"); |
| test_computed_value("border-inline-start-width", "calc(10px - 0.5em)", "0px"); |
| test_computed_value("border-inline-start-width", "thin", thinWidth); |
| test_computed_value("border-inline-start-width", "medium", mediumWidth); |
| |
| test_computed_value("border-inline-end-width", "calc(10px + 0.5em)", "30px"); |
| test_computed_value("border-inline-end-width", "calc(10px - 0.5em)", "0px"); |
| test_computed_value("border-inline-end-width", "thick", thickWidth); |
| |
| test_computed_value("border-inline-width", "10px"); |
| test_computed_value("border-inline-width", "10px 20px"); |
| test_computed_value("border-inline-width", "10px 10px", "10px"); |
| test(() => { |
| box.style.borderInlineStartWidth = '10px'; |
| box.style.borderInlineEndWidth = '10px'; |
| |
| box.style.borderInlineStartStyle = 'groove'; |
| box.style.borderInlineEndStyle = 'solid'; |
| assert_equals(getComputedStyle(box).borderInlineStartWidth, '10px'); |
| assert_equals(getComputedStyle(box).borderInlineEndWidth, '10px'); |
| assert_equals(getComputedStyle(box).borderInlineWidth, '10px'); |
| |
| box.style.borderInlineStartStyle = 'hidden'; |
| box.style.borderInlineEndStyle = 'dashed'; |
| assert_equals(getComputedStyle(box).borderInlineStartWidth, '0px'); |
| assert_equals(getComputedStyle(box).borderInlineEndWidth, '10px'); |
| assert_equals(getComputedStyle(box).borderInlineWidth, '0px 10px'); |
| |
| box.style.borderInlineStartStyle = 'inset'; |
| box.style.borderInlineEndStyle = 'none'; |
| assert_equals(getComputedStyle(box).borderInlineStartWidth, '10px'); |
| assert_equals(getComputedStyle(box).borderInlineEndWidth, '0px'); |
| assert_equals(getComputedStyle(box).borderInlineWidth, '10px 0px'); |
| |
| box.style.borderInlineStartStyle = 'none'; |
| box.style.borderInlineEndStyle = 'hidden'; |
| assert_equals(getComputedStyle(box).borderInlineStartWidth, '0px'); |
| assert_equals(getComputedStyle(box).borderInlineEndWidth, '0px'); |
| assert_equals(getComputedStyle(box).borderInlineWidth, '0px'); |
| }, 'width is zero if the border block style is none or hidden'); |
| </script> |
| </body> |
| </html> |