| <!DOCTYPE html> |
| <link rel=author href="mailto:[email protected]"> |
| <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> |