Chromium Code Reviews| Index: LayoutTests/fast/dom/ParentNode/append.html |
| diff --git a/LayoutTests/fast/dom/ParentNode/append.html b/LayoutTests/fast/dom/ParentNode/append.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..665e505d782218dda9fe7522a8c37e432f8b61ce |
| --- /dev/null |
| +++ b/LayoutTests/fast/dom/ParentNode/append.html |
| @@ -0,0 +1,93 @@ |
| +<!DOCTYPE html> |
| +<script src="../../../resources/testharness.js"></script> |
| +<script src="../../../resources/testharnessreport.js"></script> |
| +<script> |
| + |
| +function test_append(node, nodeName) { |
| + |
| + test(function() { |
| + var parent = node.cloneNode(); |
| + parent.append(); |
| + assert_equals(parent.childNodes.length, 0); |
| + assert_array_equals(parent.childNodes, []); |
| + }, nodeName + '.append() without any argument, on a parent having no child.'); |
| + |
| + test(function() { |
| + if (nodeName != 'Document') { |
| + var parent = node.cloneNode(); |
| + parent.append(null); |
| + assert_equals(parent.childNodes.length, 1); |
| + assert_equals(parent.childNodes[0].textContent, 'null'); |
| + } |
| + }, nodeName + '.append() with null as an argument, on a parent having no child.'); |
| + |
| + test(function() { |
| + if (nodeName != 'Document') { |
| + var parent = node.cloneNode(); |
| + parent.append(undefined); |
| + assert_equals(parent.childNodes.length, 1); |
| + assert_equals(parent.childNodes[0].textContent, 'undefined'); |
| + } |
| + }, nodeName + '.append() with undefined as an argument, on a parent having no child.'); |
| + |
| + test(function() { |
| + if (nodeName != 'Document') { |
| + var parent = node.cloneNode(); |
| + parent.append('text'); |
| + assert_equals(parent.childNodes.length, 1); |
| + assert_equals(parent.childNodes[0].textContent, 'text'); |
| + } |
| + }, nodeName + '.append() with only text as an argument, on a parent having no child.'); |
| + |
| + test(function() { |
| + var parent = node.cloneNode(); |
| + var x = document.createElement('x'); |
| + parent.append(x); |
| + assert_equals(parent.childNodes.length, 1); |
| + assert_array_equals(parent.childNodes, [x]); |
| + }, nodeName + '.append() with only one element as an argument, on a parent having no child.'); |
| + |
| + test(function() { |
| + if (nodeName != 'Document') { |
| + var parent = node.cloneNode(); |
| + var child = document.createElement('test'); |
| + parent.appendChild(child); |
| + parent.append(null); |
| + assert_equals(parent.childNodes.length, 2); |
| + assert_equals(parent.childNodes[0], child); |
| + assert_equals(parent.childNodes[1].textContent, 'null'); |
| + } |
| + }, nodeName + '.append() with null as an argument, on a parent having a child.'); |
| + |
| + test(function() { |
| + if (nodeName != 'Document') { |
| + var parent = node.cloneNode(); |
| + var child = document.createElement('test'); |
| + parent.appendChild(child); |
| + parent.append(undefined); |
| + assert_equals(parent.childNodes.length, 2); |
| + assert_equals(parent.childNodes[0], child); |
| + assert_equals(parent.childNodes[1].textContent, 'undefined'); |
| + } |
| + }, nodeName + '.append() with undefined as an argument, on a parent having a child.'); |
|
philipj_slow
2015/07/06 12:02:40
I don't think two tests for append(undefined) are
|
| + |
| + test(function() { |
| + if (nodeName != 'Document') { |
| + var parent = node.cloneNode(); |
| + var x = document.createElement('x'); |
| + var child = document.createElement('test'); |
| + parent.appendChild(child); |
| + parent.append(x, 'text'); |
| + assert_equals(parent.childNodes.length, 3); |
| + assert_equals(parent.childNodes[0], child); |
| + assert_equals(parent.childNodes[1], x); |
| + assert_equals(parent.childNodes[2].textContent, 'text'); |
| + } |
| + }, nodeName + '.append() with one element and text as argument, on a parent having a child.'); |
| +} |
| + |
| +test_append(document.createElement('div'), 'Element'); |
| +test_append(document.implementation.createDocument(null, null), 'Document'); |
| +test_append(document.createDocumentFragment(), 'DocumentFrgment'); |
| +</script> |
| +</html> |