<!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_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_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_dom('HierarchyRequestError', function() { parent.prepend(y); });
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_dom('HierarchyRequestError', function() { parent.prepend('text'); });
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_dom('HierarchyRequestError', function() { parent.prepend(x, y); });
assert_array_equals(parent.childNodes, []);
}, 'Document.prepend() with two elements as the argument, on a Document having no child.');
}
test_prepend_on_Document();
</script>
</html>