Skip to content

Commit

Permalink
Add tests for hidden attribute user agent stylesheet
Browse files Browse the repository at this point in the history
Bug: 1055002
Change-Id: Iab14dd4c1d11c16ddc4f41d18a1f75b34b3735d8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3529819
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Cr-Commit-Position: refs/heads/main@{#982847}
  • Loading branch information
josepharhar authored and chromium-wpt-export-bot committed Mar 18, 2022
1 parent f1c6aa7 commit cede509
Showing 1 changed file with 65 additions and 0 deletions.
65 changes: 65 additions & 0 deletions html/editing/the-hidden-attribute/hidden-ua-stylesheet.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
<!DOCTYPE html>
<link rel=author href="mailto:jarhar@chromium.org">
<link rel=help href="https://html.spec.whatwg.org/multipage/rendering.html#hiddenCSS">
<link rel=help href="https://github.com/whatwg/html/pull/7475#issuecomment-1069313217">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>

<div id=div>hello world</div>
<table id=table>
<colgroup id=colgroup>
<col id=col></col>
</colgroup>
</table>

<script>
function testDisplayNone(description) {
test(() => {
assert_equals(getComputedStyle(div).display, 'none',
`${description} should make the div display:none.`);
assert_equals(getComputedStyle(div).contentVisibility, 'visible',
`${description} should not affect the div's content-visibility property.`);
}, description);
}

function testCVHidden(description) {
test(() => {
assert_equals(getComputedStyle(div).display, 'block',
`${description} should not affect the div's display property.`);
assert_equals(getComputedStyle(div).contentVisibility, 'hidden',
`${description} should make the div content-visibility:hidden.`);
}, description);
}

function testNormal(description) {
test(() => {
assert_equals(getComputedStyle(div).display, 'block',
`${description} should not affect the div's display property.`);
assert_equals(getComputedStyle(div).contentVisibility, 'visible',
`${description} should not affect the div's content-visibility property.`);
}, description);
}

test(() => {
div.removeAttribute('hidden');
testNormal(`div.removeAttribute('hidden')`);

div.setAttribute('hidden', '');
testDisplayNone(`div.setAttribute('hidden', '')`);

div.setAttribute('hidden', 'asdf');
testDisplayNone(`div.setAttribute('hidden', 'asdf')`);

div.setAttribute('hidden', 'until-found');
testCVHidden(`div.setAttribute('hidden', 'until-found')`);

div.setAttribute('hidden', 'UNTIL-FOUND');
testCVHidden(`div.setAttribute('hidden', 'UNTIL-FOUND')`);

div.setAttribute('hidden', 'UnTiL-FoUnD');
testCVHidden(`div.setAttribute('hidden', 'UnTiL-FoUnD')`);

div.setAttribute('hidden', '0');
testDisplayNone(`div.setAttribute('hidden', '0')`);
});
</script>

0 comments on commit cede509

Please sign in to comment.