Index: LayoutTests/fast/dom/ParentNode/prepend-on-document.html |
diff --git a/LayoutTests/fast/dom/ParentNode/prepend-on-document.html b/LayoutTests/fast/dom/ParentNode/prepend-on-document.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9c04c33a120792ec25308458424a65f9093db667 |
--- /dev/null |
+++ b/LayoutTests/fast/dom/ParentNode/prepend-on-document.html |
@@ -0,0 +1,55 @@ |
+<!DOCTYPE html> |
+<script src="../../../resources/testharness.js"></script> |
+<script src="../../../resources/testharnessreport.js"></script> |
+<script> |
+ |
+function test_prepend_on_Document() { |
+ |
+ var node = document.implementation.createDocument(null, null); |
+ test(function() { |
+ var parent = node.cloneNode(); |
+ parent.prepend(); |
+ assert_equals(parent.childNodes.length, 0); |
+ assert_array_equals(parent.childNodes, []); |
+ }, 'Document.prepend() without any argument, on a Document having no child.'); |
+ |
+ test(function() { |
+ var parent = node.cloneNode(); |
+ var x = document.createElement('x'); |
+ parent.prepend(x); |
+ assert_equals(parent.childNodes.length, 1); |
+ assert_array_equals(parent.childNodes, [x]); |
+ }, 'Document.prepend() with only one element as an argument, on a Document having no child.'); |
+ |
+ test(function() { |
+ var parent = node.cloneNode(); |
+ var x = document.createElement('x'); |
+ var y = document.createElement('y'); |
+ parent.appendChild(x); |
+ assert_throws('HierarchyRequestError', function() { parent.prepend(y); }, 'Only one element on document allowed.'); |
+ assert_equals(parent.childNodes.length, 1); |
+ assert_array_equals(parent.childNodes, [x]); |
+ }, 'Document.append() with only one element as an argument, on a Document having one child.'); |
+ |
+ test(function() { |
+ var parent = node.cloneNode(); |
+ assert_throws('HierarchyRequestError', function() { parent.prepend('text'); }, 'Nodes of type \'#text\' may not be inserted inside nodes of type \'#document\''); |
+ assert_equals(parent.childNodes.length, 0); |
+ assert_array_equals(parent.childNodes, []); |
+ }, 'Document.prepend() with text as an argument, on a Document having no child.'); |
+ |
+ test(function() { |
+ var parent = node.cloneNode(); |
+ var x = document.createElement('x'); |
+ var y = document.createElement('y'); |
+ assert_throws('HierarchyRequestError', function() { parent.prepend(x, y); }, 'Only one element on document allowed.'); |
+ assert_equals(parent.childNodes.length, 0); |
+ assert_array_equals(parent.childNodes, []); |
+ }, 'Document.prepend() with only one element as an argument, on a Document having no child.'); |
+ |
+} |
+ |
+test_prepend_on_Document(); |
+ |
+</script> |
+</html> |