mutations.window.js (1551B)
1 function assert_equal_values(output, value, message) { 2 assert_equals(output.value, value, `.value ${message}`); 3 assert_equals(output.defaultValue, value, `.defaultValue ${message}`); 4 } 5 function assert_values(output, value, defaultValue, message) { 6 assert_equals(output.value, value, `.value ${message}`); 7 assert_equals(output.defaultValue, defaultValue, `.defaultValue ${message}`); 8 } 9 10 test(() => { 11 const output = document.createElement("output"), 12 child = output.appendChild(document.createElement("span")); 13 assert_equal_values(output, "", "start"); 14 child.textContent = "x"; 15 assert_equal_values(output, "x", "after setting textContent"); 16 output.value = "some"; 17 assert_values(output, "some", "x", "after setting value"); 18 output.textContent = "y"; 19 assert_values(output, "y", "x", "after setting textContent again"); 20 }, "Descendant mutations and output.value and .defaultValue"); 21 22 test(() => { 23 const form = document.createElement("form"), 24 output = form.appendChild(document.createElement("output")); 25 output.textContent = "value"; 26 assert_equal_values(output, "value", "after setting textContent"); 27 output.value = "heya"; 28 assert_values(output, "heya", "value", "after setting value"); 29 form.reset(); 30 assert_equal_values(output, "value", "after form.reset()"); 31 32 output.innerHTML = "<div>something</div>"; 33 assert_equal_values(output, "something", "after setting innerHTML"); 34 form.reset(); 35 assert_equal_values(output, "something", "after form.reset() again"); 36 }, "output and output.form.reset()");