| <!doctype html> |
| <meta charset="utf-8"> |
| <title>CSSOM: Correct resolution of resolved value for the checkmark pseudo-element</title> |
| |
| <link rel="help" href="https://drafts.csswg.org/cssom/#dom-window-getcomputedstyle"> |
| <link rel="help" href="https://drafts.csswg.org/cssom/#resolved-values"> |
| <link rel="help" href="https://drafts.csswg.org/css-forms/#checkmark-element"> |
| |
| <script src=/resources/testharness.js></script> |
| <script src=/resources/testharnessreport.js></script> |
| |
| <style> |
| select, |
| select::picker(select) { |
| appearance: base-select; |
| } |
| |
| #test-option { |
| width: 321px; |
| } |
| |
| #test-option::checkmark { |
| width: 13px; |
| } |
| </style> |
| |
| <select> |
| <option id="test-option">The only option</option> |
| </select> |
| |
| <script> |
| test(() => { |
| const test_option = document.getElementById('test-option'); |
| assert_equals(getComputedStyle(test_option, "checkmark").width, "321px"); |
| }, "Resolution of width is correct when pseudo-element argument is ignored (due to no colon)"); |
| |
| test(() => { |
| const test_option = document.getElementById('test-option'); |
| assert_equals(getComputedStyle(test_option, ":checkmark").width, ""); |
| }, "Resolution of width is correct when pseudo-element argument is ignored (due to single-colon)"); |
| |
| test(() => { |
| const test_option = document.getElementById('test-option'); |
| assert_equals(getComputedStyle(test_option, "::checkmark").width, "13px"); |
| }, "Resolution of width is correct for pseudo-element (due to double-colon)"); |
| </script> |