49 lines
1.8 KiB
HTML
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>
|