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> |