diff options
Diffstat (limited to 'testing/web-platform/tests/html/rendering/non-replaced-elements/hidden-elements.html')
-rw-r--r-- | testing/web-platform/tests/html/rendering/non-replaced-elements/hidden-elements.html | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/rendering/non-replaced-elements/hidden-elements.html b/testing/web-platform/tests/html/rendering/non-replaced-elements/hidden-elements.html new file mode 100644 index 0000000000..e1bcf508e5 --- /dev/null +++ b/testing/web-platform/tests/html/rendering/non-replaced-elements/hidden-elements.html @@ -0,0 +1,52 @@ +<!doctype html> +<link rel=help href="https://html.spec.whatwg.org/#hidden-elements"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div hidden></div> +<embed hidden> +<embed hidden=until-found> +<script> +const kNotHiddenElementLocalNames = [ + "source", "track", +]; + +const kHiddenElementLocalNames = [ + "area", "base", "basefont", "datalist", "head", "link", "meta", "noembed", + "noframes", "param", "rp", "script", "style", "template", "title", +]; + +for (let name of kNotHiddenElementLocalNames) { + test(function() { + let element = document.createElement(name); + document.body.appendChild(element); + assert_equals(getComputedStyle(element).display, "inline"); + }, `${name} should not be hidden`); +} + +for (let name of kHiddenElementLocalNames) { + test(function() { + let element = document.createElement(name); + document.body.appendChild(element); + assert_equals(getComputedStyle(element).display, "none"); + }, `${name} should be hidden`); +} + +test(function() { + assert_equals(getComputedStyle(document.querySelector("div[hidden]")).display, "none"); +}, `div[hidden] element should be hidden`); + +test(function() { + const el = document.querySelector("embed[hidden='']"); + assert_equals(getComputedStyle(el).display, "inline"); + assert_equals(getComputedStyle(el).width, "0px"); + assert_equals(getComputedStyle(el).height, "0px"); +}, `embed[hidden=''] element should be inline 0x0`); + +test(function() { + const el = document.querySelector("embed[hidden='until-found']"); + assert_equals(getComputedStyle(el).display, "inline"); + assert_equals(getComputedStyle(el).width, "0px"); + assert_equals(getComputedStyle(el).height, "0px"); + assert_equals(getComputedStyle(el).contentVisibility, "visible"); +}, `embed[hidden='until-found'] element should be inline 0x0`); +</script> |