Index: LayoutTests/fast/dom/ParentNode/prepend.html |
diff --git a/LayoutTests/fast/dom/ParentNode/prepend.html b/LayoutTests/fast/dom/ParentNode/prepend.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..0f09d1c034733b680396db636f673ca5d253abd9 |
--- /dev/null |
+++ b/LayoutTests/fast/dom/ParentNode/prepend.html |
@@ -0,0 +1,73 @@ |
+<!DOCTYPE html> |
+<script src="../../../resources/testharness.js"></script> |
+<script src="../../../resources/testharnessreport.js"></script> |
+<script> |
+ |
+function test_prepend(node, nodeName) { |
+ |
+ test(function() { |
+ var parent = node.cloneNode(); |
+ parent.prepend(); |
+ assert_array_equals(parent.childNodes, []); |
+ }, nodeName + '.prepend() without any argument, on a parent having no child.'); |
+ |
+ test(function() { |
+ var parent = node.cloneNode(); |
+ parent.prepend(null); |
+ assert_equals(parent.childNodes[0].textContent, 'null'); |
+ }, nodeName + '.prepend() with null as an argument, on a parent having no child.'); |
+ |
+ test(function() { |
+ var parent = node.cloneNode(); |
+ parent.prepend(undefined); |
+ assert_equals(parent.childNodes[0].textContent, 'undefined'); |
+ }, nodeName + '.prepend() with undefined as an argument, on a parent having no child.'); |
+ |
+ test(function() { |
+ var parent = node.cloneNode(); |
+ parent.prepend('text'); |
+ assert_equals(parent.childNodes[0].textContent, 'text'); |
+ }, nodeName + '.prepend() with only text as an argument, on a parent having no child.'); |
+ |
+ test(function() { |
+ var parent = node.cloneNode(); |
+ var x = document.createElement('x'); |
+ parent.prepend(x); |
+ assert_array_equals(parent.childNodes, [x]); |
+ }, nodeName + '.prepend() with only one element as an argument, on a parent having no child.'); |
+ |
+ test(function() { |
+ var parent = node.cloneNode(); |
+ var child = document.createElement('test'); |
+ parent.appendChild(child); |
+ parent.prepend(null); |
+ assert_equals(parent.childNodes[0].textContent, 'null'); |
+ assert_equals(parent.childNodes[1], child); |
+ }, nodeName + '.prepend() with null as an argument, on a parent having a child.'); |
+ |
+ test(function() { |
+ var parent = node.cloneNode(); |
+ var x = document.createElement('x'); |
+ var child = document.createElement('test'); |
+ parent.appendChild(x); |
+ parent.appendChild(child); |
+ parent.prepend(child, x); |
+ assert_array_equals(parent.childNodes, [child, x]); |
+ }, nodeName + '.prepend() with all children as arguments, on a parent having two children.'); |
+ |
+ test(function() { |
+ var parent = node.cloneNode(); |
+ var x = document.createElement('x'); |
+ var child = document.createElement('test'); |
+ parent.appendChild(child); |
+ parent.prepend(x, 'text'); |
+ assert_equals(parent.childNodes[0], x); |
+ assert_equals(parent.childNodes[1].textContent, 'text'); |
+ assert_equals(parent.childNodes[2], child); |
+ }, nodeName + '.prepend() with one element and text as argument, on a parent having a child.'); |
+} |
+ |
+test_prepend(document.createElement('div'), 'Element'); |
+test_prepend(document.createDocumentFragment(), 'DocumentFrgment'); |
+</script> |
+</html> |