1
0
Fork 0
firefox/testing/web-platform/tests/html/editing/the-hidden-attribute/hidden-idl.html
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

49 lines
1.8 KiB
HTML

<!DOCTYPE html>
<link rel=author href="mailto:jarhar@chromium.org">
<link rel=help href="https://github.com/whatwg/html/pull/7475">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div>hello</div>
<script>
const div = document.querySelector('div');
function runPropertyTest(assignedValue, expectedValue, expectedAttribute) {
test(() => {
div.hidden = assignedValue;
assert_equals(div.hidden, expectedValue,
`div.hidden = ${JSON.stringify(assignedValue)} should return ${JSON.stringify(expectedValue)}`);
assert_equals(div.getAttribute('hidden'), expectedAttribute,
`div.hidden = ${JSON.stringify(assignedValue)} should set the hidden attribute to ${JSON.stringify(expectedAttribute)}`);
}, `div.hidden = ${Number.isNaN(assignedValue) ? 'NaN' : JSON.stringify(assignedValue)}`);
}
function runAttributeTest(assignedAttribute, expectedValue) {
test(() => {
div.setAttribute('hidden', assignedAttribute);
assert_equals(div.hidden, expectedValue);
}, `div.setAttribute('hidden', ${JSON.stringify(assignedAttribute)}) should make div.hidden return ${JSON.stringify(expectedValue)}`);
}
runPropertyTest(false, false, null);
runPropertyTest(true, true, '');
runPropertyTest('foo', true, '');
runPropertyTest('false', true, '');
runPropertyTest('', false, null);
runAttributeTest('false', true);
runAttributeTest('foo', true);
runPropertyTest('until-found', 'until-found', 'until-found');
runPropertyTest('UNTIL-FOUND', 'until-found', 'until-found');
runPropertyTest('UnTiL-FoUnD', 'until-found', 'until-found');
runPropertyTest('unt\u0131l-found', true, '');
runPropertyTest('unt\u0130l-found', true, '');
runPropertyTest(null, false, null);
runPropertyTest(undefined, false, null);
runPropertyTest(1, true, '');
runPropertyTest(0, false, null);
runPropertyTest(NaN, false, null);
</script>