| <!DOCTYPE html> | |
| <title>Node.normalize()</title> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <div id=log></div> | |
| <script> | |
| test(function() { | |
| var df = document.createDocumentFragment(), | |
| t1 = document.createTextNode("1"), | |
| t2 = document.createTextNode("2"), | |
| t3 = document.createTextNode("3"), | |
| t4 = document.createTextNode("4") | |
| df.appendChild(t1) | |
| df.appendChild(t2) | |
| assert_equals(df.childNodes.length, 2) | |
| assert_equals(df.textContent, "12") | |
| var el = document.createElement('x') | |
| df.appendChild(el) | |
| el.appendChild(t3) | |
| el.appendChild(t4) | |
| document.normalize() | |
| assert_equals(el.childNodes.length, 2) | |
| assert_equals(el.textContent, "34") | |
| assert_equals(df.childNodes.length, 3) | |
| assert_equals(t1.data, "1") | |
| df.normalize() | |
| assert_equals(df.childNodes.length, 2) | |
| assert_equals(df.firstChild, t1) | |
| assert_equals(t1.data, "12") | |
| assert_equals(t2.data, "2") | |
| assert_equals(el.firstChild, t3) | |
| assert_equals(t3.data, "34") | |
| assert_equals(t4.data, "4") | |
| }) | |
| // https://www.w3.org/Bugs/Public/show_bug.cgi?id=19837 | |
| test(function() { | |
| var div = document.createElement("div") | |
| var t1 = div.appendChild(document.createTextNode("")) | |
| var t2 = div.appendChild(document.createTextNode("a")) | |
| var t3 = div.appendChild(document.createTextNode("")) | |
| assert_array_equals(div.childNodes, [t1, t2, t3]) | |
| div.normalize(); | |
| assert_array_equals(div.childNodes, [t2]) | |
| }, "Empty text nodes separated by a non-empty text node") | |
| test(function() { | |
| var div = document.createElement("div") | |
| var t1 = div.appendChild(document.createTextNode("")) | |
| var t2 = div.appendChild(document.createTextNode("")) | |
| assert_array_equals(div.childNodes, [t1, t2]) | |
| div.normalize(); | |
| assert_array_equals(div.childNodes, []) | |
| }, "Empty text nodes") | |
| </script> |