mirror of
https://github.com/lightpanda-io/browser.git
synced 2025-10-29 23:23:28 +00:00
dom: add more WPT tests for document
This commit is contained in:
67
tests/wpt/dom/nodes/Document-importNode.html
Normal file
67
tests/wpt/dom/nodes/Document-importNode.html
Normal file
@@ -0,0 +1,67 @@
|
||||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>Document.importNode</title>
|
||||
<link rel=help href="https://dom.spec.whatwg.org/#dom-document-importnode">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
test(function() {
|
||||
var doc = document.implementation.createHTMLDocument("Title");
|
||||
var div = doc.body.appendChild(doc.createElement("div"));
|
||||
div.appendChild(doc.createElement("span"));
|
||||
assert_equals(div.ownerDocument, doc);
|
||||
assert_equals(div.firstChild.ownerDocument, doc);
|
||||
var newDiv = document.importNode(div);
|
||||
assert_equals(div.ownerDocument, doc);
|
||||
assert_equals(div.firstChild.ownerDocument, doc);
|
||||
assert_equals(newDiv.ownerDocument, document);
|
||||
assert_equals(newDiv.firstChild, null);
|
||||
}, "No 'deep' argument.")
|
||||
test(function() {
|
||||
var doc = document.implementation.createHTMLDocument("Title");
|
||||
var div = doc.body.appendChild(doc.createElement("div"));
|
||||
div.appendChild(doc.createElement("span"));
|
||||
assert_equals(div.ownerDocument, doc);
|
||||
assert_equals(div.firstChild.ownerDocument, doc);
|
||||
var newDiv = document.importNode(div, undefined);
|
||||
assert_equals(div.ownerDocument, doc);
|
||||
assert_equals(div.firstChild.ownerDocument, doc);
|
||||
assert_equals(newDiv.ownerDocument, document);
|
||||
assert_equals(newDiv.firstChild, null);
|
||||
}, "Undefined 'deep' argument.")
|
||||
test(function() {
|
||||
var doc = document.implementation.createHTMLDocument("Title");
|
||||
var div = doc.body.appendChild(doc.createElement("div"));
|
||||
div.appendChild(doc.createElement("span"));
|
||||
assert_equals(div.ownerDocument, doc);
|
||||
assert_equals(div.firstChild.ownerDocument, doc);
|
||||
var newDiv = document.importNode(div, true);
|
||||
assert_equals(div.ownerDocument, doc);
|
||||
assert_equals(div.firstChild.ownerDocument, doc);
|
||||
assert_equals(newDiv.ownerDocument, document);
|
||||
assert_equals(newDiv.firstChild.ownerDocument, document);
|
||||
}, "True 'deep' argument.")
|
||||
test(function() {
|
||||
var doc = document.implementation.createHTMLDocument("Title");
|
||||
var div = doc.body.appendChild(doc.createElement("div"));
|
||||
div.appendChild(doc.createElement("span"));
|
||||
assert_equals(div.ownerDocument, doc);
|
||||
assert_equals(div.firstChild.ownerDocument, doc);
|
||||
var newDiv = document.importNode(div, false);
|
||||
assert_equals(div.ownerDocument, doc);
|
||||
assert_equals(div.firstChild.ownerDocument, doc);
|
||||
assert_equals(newDiv.ownerDocument, document);
|
||||
assert_equals(newDiv.firstChild, null);
|
||||
}, "False 'deep' argument.")
|
||||
|
||||
test(function() {
|
||||
let doc = document.implementation.createHTMLDocument("Title");
|
||||
doc.body.setAttributeNS("http://example.com/", "p:name", "value");
|
||||
let originalAttr = doc.body.getAttributeNodeNS("http://example.com/", "name");
|
||||
let imported = document.importNode(originalAttr, true);
|
||||
assert_equals(imported.prefix, originalAttr.prefix);
|
||||
assert_equals(imported.namespaceURI, originalAttr.namespaceURI);
|
||||
assert_equals(imported.localName, originalAttr.localName);
|
||||
}, "Import an Attr node with namespace/prefix correctly.");
|
||||
</script>
|
||||
Reference in New Issue
Block a user