| <!doctype html> | 
 | <meta charset="utf-8"> | 
 | <title>CSSOM: Correct resolution of resolved value for the picker-icon 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/#picker-icon-pseudo-element"> | 
 |  | 
 | <script src=/resources/testharness.js></script> | 
 | <script src=/resources/testharnessreport.js></script> | 
 |  | 
 | <style> | 
 | select, | 
 | select::picker(select) { | 
 |   appearance: base-select; | 
 | } | 
 |  | 
 | #test-select { | 
 |   width: 321px; | 
 | } | 
 |  | 
 | #test-select::picker-icon { | 
 |   width: 13px; | 
 | } | 
 | </style> | 
 |  | 
 | <select id="test-select"> | 
 |   <option>The only option</option> | 
 | </select> | 
 |  | 
 | <script> | 
 | test(() => { | 
 |   const test_select = document.getElementById('test-select'); | 
 |   assert_equals(getComputedStyle(test_select, "picker-icon").width, "321px"); | 
 | }, "Resolution of width is correct when pseudo-element argument is ignored (due to no colon)"); | 
 |  | 
 | test(() => { | 
 |   const test_select = document.getElementById('test-select'); | 
 |   assert_equals(getComputedStyle(test_select, ":picker-icon").width, ""); | 
 | }, "Resolution of width is correct when pseudo-element argument is ignored (due to single-colon)"); | 
 |  | 
 | test(() => { | 
 |   const test_select = document.getElementById('test-select'); | 
 |   assert_equals(getComputedStyle(test_select, "::picker-icon").width, "13px"); | 
 | }, "Resolution of width is correct for pseudo-element (due to double-colon)"); | 
 | </script> |