blob: dede199652c3b288d50b0066ade2661c4b1eb4d0 [file] [log] [blame] [edit]
<!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>