Summary

Harness status: OK

Found 40 tests

Details

ResultTest NameMessage
PassShould check the 'parent' type before checking whether 'child' is a child of 'parent'
Asserts run
Pass
assert_throws_dom("HierarchyRequestError", function "function() {       insertFunc.call(parent, node, child);     }")
    at  /dom/nodes/pre-insertion-validation-notfound.js:34:5
Pass
assert_throws_dom("HierarchyRequestError", function "function() {       insertFunc.call(parent, node, child);     }")
    at  /dom/nodes/pre-insertion-validation-notfound.js:34:5
Pass
assert_throws_dom("HierarchyRequestError", function "function() {       insertFunc.call(parent, node, child);     }")
    at  /dom/nodes/pre-insertion-validation-notfound.js:34:5
Pass
assert_throws_dom("HierarchyRequestError", function "function() {       insertFunc.call(parent, node, child);     }")
    at  /dom/nodes/pre-insertion-validation-notfound.js:34:5
Pass
assert_throws_dom("HierarchyRequestError", function "function() {       insertFunc.call(parent, node, child);     }")
    at  /dom/nodes/pre-insertion-validation-notfound.js:34:5
PassShould check that 'node' is not an ancestor of 'parent' before checking whether 'child' is a child of 'parent'
Asserts run
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     insertFunc.call(parent, node, child);   }")
    at Test.<anonymous> ( /dom/nodes/pre-insertion-validation-notfound.js:47:3)
PassShould check whether 'child' is a child of 'parent' before checking whether 'node' is of a type that can have a parent.
Asserts run
Pass
assert_throws_dom("NotFoundError", function "function() {       insertFunc.call(parent, node, child);     }")
    at  /dom/nodes/pre-insertion-validation-notfound.js:59:5
PassShould check whether 'child' is a child of 'parent' before checking whether 'node' is of a type that can have a parent of the type that 'parent' is.
Asserts run
Pass
assert_throws_dom("NotFoundError", function "function() {     insertFunc.call(parent, node, child);   }")
    at Test.<anonymous> ( /dom/nodes/pre-insertion-validation-notfound.js:72:3)
Pass
assert_throws_dom("NotFoundError", function "function() {       insertFunc.call(parent, node, child);     }")
    at  /dom/nodes/pre-insertion-validation-notfound.js:78:5
Pass
assert_throws_dom("NotFoundError", function "function() {       insertFunc.call(parent, node, child);     }")
    at  /dom/nodes/pre-insertion-validation-notfound.js:78:5
PassShould check whether 'child' is a child of 'parent' before checking whether 'node' can be inserted into the document given the kids the document has right now.
Asserts run
Pass
assert_throws_dom("NotFoundError", function "function() {     insertFunc.call(parent, node, child);   }")
    at Test.<anonymous> ( /dom/nodes/pre-insertion-validation-notfound.js:92:3)
Pass
assert_throws_dom("NotFoundError", function "function() {     insertFunc.call(parent, node, child);   }")
    at Test.<anonymous> ( /dom/nodes/pre-insertion-validation-notfound.js:98:3)
Pass
assert_throws_dom("NotFoundError", function "function() {     insertFunc.call(parent, node, child);   }")
    at Test.<anonymous> ( /dom/nodes/pre-insertion-validation-notfound.js:105:3)
PassIf node is a host-including inclusive ancestor of parent, then throw a HierarchyRequestError DOMException.
Asserts run
Pass
assert_throws_dom("HierarchyRequestError", function "() => insert(doc.body, doc.body)")
    at Test.<anonymous> ( /dom/nodes/pre-insertion-validation-hierarchy.js:19:5)
Pass
assert_throws_dom("HierarchyRequestError", function "() => insert(doc.body, doc.documentElement)")
    at Test.<anonymous> ( /dom/nodes/pre-insertion-validation-hierarchy.js:20:5)
PassIf node is not a DocumentFragment, DocumentType, Element, Text, ProcessingInstruction, or Comment node, then throw a HierarchyRequestError DOMException.
Asserts run
Pass
assert_throws_dom("HierarchyRequestError", function "() => insert(doc, doc2)")
    at Test.<anonymous> ( /dom/nodes/pre-insertion-validation-hierarchy.js:27:5)
PassIf node is a Text node and parent is a document, then throw a HierarchyRequestError DOMException.
Asserts run
Pass
assert_throws_dom("HierarchyRequestError", function "() => insert(doc, doc.createTextNode("text"))")
    at Test.<anonymous> ( /dom/nodes/pre-insertion-validation-hierarchy.js:33:5)
PassIf node is a doctype and parent is not a document, then throw a HierarchyRequestError DOMException.
Asserts run
Pass
assert_throws_dom("HierarchyRequestError", function "() => insert(doc.createElement("a"), doctype)")
    at Test.<anonymous> ( /dom/nodes/pre-insertion-validation-hierarchy.js:40:5)
PassIf node is a DocumentFragment with multiple elements and parent is a document, then throw a HierarchyRequestError DOMException.
Asserts run
Pass
assert_throws_dom("HierarchyRequestError", function "() => insert(doc, df)")
    at Test.<anonymous> ( /dom/nodes/pre-insertion-validation-hierarchy.js:50:5)
PassIf node is a DocumentFragment with an element and parent is a document with another element, then throw a HierarchyRequestError DOMException.
Asserts run
Pass
assert_throws_dom("HierarchyRequestError", function "() => insert(doc, df)")
    at Test.<anonymous> ( /dom/nodes/pre-insertion-validation-hierarchy.js:58:5)
PassIf node is an Element and parent is a document with another element, then throw a HierarchyRequestError DOMException.
Asserts run
Pass
assert_throws_dom("HierarchyRequestError", function "() => insert(doc, el)")
    at Test.<anonymous> ( /dom/nodes/pre-insertion-validation-hierarchy.js:65:5)
PassIf node is a doctype and parent is a document with another doctype, then throw a HierarchyRequestError DOMException.
Asserts run
Pass
assert_throws_dom("HierarchyRequestError", function "() => insert(doc, doctype)")
    at Test.<anonymous> ( /dom/nodes/pre-insertion-validation-hierarchy.js:73:5)
PassIf node is a doctype and parent is a document with an element, then throw a HierarchyRequestError DOMException.
Asserts run
Pass
assert_throws_dom("HierarchyRequestError", function "() => insert(doc, doctype)")
    at Test.<anonymous> ( /dom/nodes/pre-insertion-validation-hierarchy.js:83:7)
PassCalling insertBefore with a non-Node first argument must throw TypeError.
Asserts run
Pass
assert_throws_js(function "function TypeError() { [native code] }", function "function() { document.body.insertBefore(null, null) }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:33:3)
Pass
assert_throws_js(function "function TypeError() { [native code] }", function "function() { document.body.insertBefore(null, document.body.firstChild) }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:34:3)
Pass
assert_throws_js(function "function TypeError() { [native code] }", function "function() { document.body.insertBefore({'a':'b'}, document.body.firstChild) }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:35:3)
PassCalling insertBefore with second argument missing, or other than Node, null, or undefined, must throw TypeError.
Asserts run
Pass
assert_throws_js(function "function TypeError() { [native code] }", function "function() { document.body.insertBefore(document.createTextNode("child")) }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:40:3)
Pass
assert_throws_js(function "function TypeError() { [native code] }", function "function() { document.body.insertBefore(document.createTextNode("child"), {'a':'b'}) }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:41:3)
PassCalling insertBefore with a non-Node first argument on a leaf node DocumentType must throw TypeError.
Asserts run
Pass
assert_throws_js(function "function TypeError() { [native code] }", function "function() { node.insertBefore(null, null) }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:19:5)
PassCalling insertBefore an a leaf node DocumentType must throw HIERARCHY_REQUEST_ERR.
Asserts run
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function() { node.insertBefore(document.createTextNode("fail"), null) }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:23:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function() { node.insertBefore(node, null) }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:25:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function() { node.insertBefore(node, document.createTextNode("child")) }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:27:5)
PassCalling insertBefore with a non-Node first argument on a leaf node Text must throw TypeError.
Asserts run
Pass
assert_throws_js(function "function TypeError() { [native code] }", function "function() { node.insertBefore(null, null) }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:19:5)
PassCalling insertBefore an a leaf node Text must throw HIERARCHY_REQUEST_ERR.
Asserts run
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function() { node.insertBefore(document.createTextNode("fail"), null) }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:23:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function() { node.insertBefore(node, null) }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:25:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function() { node.insertBefore(node, document.createTextNode("child")) }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:27:5)
PassCalling insertBefore with a non-Node first argument on a leaf node Comment must throw TypeError.
Asserts run
Pass
assert_throws_js(function "function TypeError() { [native code] }", function "function() { node.insertBefore(null, null) }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:19:5)
PassCalling insertBefore an a leaf node Comment must throw HIERARCHY_REQUEST_ERR.
Asserts run
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function() { node.insertBefore(document.createTextNode("fail"), null) }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:23:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function() { node.insertBefore(node, null) }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:25:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function() { node.insertBefore(node, document.createTextNode("child")) }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:27:5)
PassCalling insertBefore with a non-Node first argument on a leaf node ProcessingInstruction must throw TypeError.
Asserts run
Pass
assert_throws_js(function "function TypeError() { [native code] }", function "function() { node.insertBefore(null, null) }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:19:5)
PassCalling insertBefore an a leaf node ProcessingInstruction must throw HIERARCHY_REQUEST_ERR.
Asserts run
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function() { node.insertBefore(document.createTextNode("fail"), null) }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:23:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function() { node.insertBefore(node, null) }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:25:5)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function() { node.insertBefore(node, document.createTextNode("child")) }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:27:5)
PassCalling insertBefore with an inclusive ancestor of the context object must throw HIERARCHY_REQUEST_ERR.
Asserts run
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function() { document.body.insertBefore(document.body, document.getElementById("log")) }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:51:3)
Pass
assert_throws_dom("HIERARCHY_REQUEST_ERR", function "function() { document.body.insertBefore(document.documentElement, document.getElementById("log")) }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:52:3)
PassCalling insertBefore with a reference child whose parent is not the context node must throw a NotFoundError.
Asserts run
Pass
assert_throws_dom("NotFoundError", function "function() {     a.insertBefore(b, c);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:60:3)
PassIf the context node is a document, inserting a document or text node should throw a HierarchyRequestError.
Asserts run
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     doc.insertBefore(doc2, doc.documentElement);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:69:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     doc.insertBefore(doc.createTextNode("text"), doc.documentElement);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:73:3)
PassIf the context node is a document, inserting a DocumentFragment that contains a text node or too many elements should throw a HierarchyRequestError.
Asserts run
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     doc.insertBefore(df, doc.firstChild);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:86:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     doc.insertBefore(df, doc.firstChild);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:92:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     doc.insertBefore(df, doc.firstChild);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:99:3)
PassIf the context node is a document, inserting a DocumentFragment with an element if there already is an element child should throw a HierarchyRequestError.
Asserts run
Pass
assert_array_equals(object "[object NodeList]", [DocumentType node, Element node <html><head><title>title</title></head><body></body></html>, Comment node <!--foo-->])
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:109:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     doc.insertBefore(df, doc.doctype);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:113:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     doc.insertBefore(df, doc.documentElement);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:116:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     doc.insertBefore(df, comment);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:119:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     doc.insertBefore(df, null);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:122:3)
PassIf the context node is a document and a doctype is following the reference child, inserting a DocumentFragment with an element should throw a HierarchyRequestError.
Asserts run
Pass
assert_array_equals(object "[object NodeList]", [Comment node <!--foo-->, DocumentType node])
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:131:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     doc.insertBefore(df, doc.doctype);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:135:3)
PassIf the context node is a document, inserting a DocumentFragment with an element before the doctype should throw a HierarchyRequestError.
Asserts run
Pass
assert_array_equals(object "[object NodeList]", [Comment node <!--foo-->, DocumentType node])
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:144:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     doc.insertBefore(df, comment);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:148:3)
PassIf the context node is a document, inserting an element if there already is an element child should throw a HierarchyRequestError.
Asserts run
Pass
assert_array_equals(object "[object NodeList]", [DocumentType node, Element node <html><head><title>title</title></head><body></body></html>, Comment node <!--foo-->])
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:158:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     doc.insertBefore(a, doc.doctype);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:161:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     doc.insertBefore(a, doc.documentElement);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:164:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     doc.insertBefore(a, comment);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:167:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     doc.insertBefore(a, null);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:170:3)
PassIf the context node is a document, inserting an element before the doctype should throw a HierarchyRequestError.
Asserts run
Pass
assert_array_equals(object "[object NodeList]", [Comment node <!--foo-->, DocumentType node])
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:179:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     doc.insertBefore(a, doc.doctype);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:182:3)
PassIf the context node is a document and a doctype is following the reference child, inserting an element should throw a HierarchyRequestError.
Asserts run
Pass
assert_array_equals(object "[object NodeList]", [Comment node <!--foo-->, DocumentType node])
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:191:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     doc.insertBefore(a, comment);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:194:3)
PassIf the context node is a document, inserting a doctype if there already is a doctype child should throw a HierarchyRequestError.
Asserts run
Pass
assert_array_equals(object "[object NodeList]", [Comment node <!--foo-->, DocumentType node, Element node <html><head><title>title</title></head><body></body></html>])
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:203:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     doc.insertBefore(doctype, comment);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:206:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     doc.insertBefore(doctype, doc.doctype);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:209:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     doc.insertBefore(doctype, doc.documentElement);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:212:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     doc.insertBefore(doctype, null);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:215:3)
PassIf the context node is a document, inserting a doctype after the document element should throw a HierarchyRequestError.
Asserts run
Pass
assert_array_equals(object "[object NodeList]", [Element node <html><head><title>title</title></head><body></body></html>, Comment node <!--foo-->])
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:223:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     doc.insertBefore(doctype, comment);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:226:3)
PassIf the context node is a document with and element child, appending a doctype should throw a HierarchyRequestError.
Asserts run
Pass
assert_array_equals(object "[object NodeList]", [Element node <html><head><title>title</title></head><body></body></html>, Comment node <!--foo-->])
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:234:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     doc.insertBefore(doctype, null);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:237:3)
PassIf the context node is a DocumentFragment, inserting a document or a doctype should throw a HierarchyRequestError.
Asserts run
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     df.insertBefore(doc, a);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:248:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     df.insertBefore(doc, null);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:251:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     df.insertBefore(doctype, a);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:256:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     df.insertBefore(doctype, null);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:259:3)
PassIf the context node is an element, inserting a document or a doctype should throw a HierarchyRequestError.
Asserts run
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     el.insertBefore(doc, a);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:268:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     el.insertBefore(doc, null);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:271:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     el.insertBefore(doctype, a);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:276:3)
Pass
assert_throws_dom("HierarchyRequestError", function "function() {     el.insertBefore(doctype, null);   }")
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:279:3)
PassInserting a node before itself should not move the node
Asserts run
Pass
assert_array_equals(object "[object NodeList]", [Element node <div></div>, Element node <div></div>])
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:291:3)
Pass
assert_equals(Element node <div></div>, Element node <div></div>)
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:292:3)
Pass
assert_array_equals(object "[object NodeList]", [Element node <div></div>, Element node <div></div>])
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:293:3)
Pass
assert_equals(Element node <div></div>, Element node <div></div>)
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:294:3)
Pass
assert_array_equals(object "[object NodeList]", [Element node <div></div>, Element node <div></div>])
    at Test.<anonymous> ( /dom/nodes/Node-insertBefore.html:295:3)