mirror of
https://github.com/servo/servo.git
synced 2025-09-05 04:28:22 +01:00
Implements Node::isSameNode
Fixes #10746 Adapted the tests from dom/nodes/Node-isEqualNode.html
This commit is contained in:
parent
305c283602
commit
ed42cc72a4
5 changed files with 116 additions and 52 deletions
100
tests/wpt/web-platform-tests/dom/nodes/Node-isSameNode.html
Normal file
100
tests/wpt/web-platform-tests/dom/nodes/Node-isSameNode.html
Normal file
|
@ -0,0 +1,100 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>Node.prototype.isSameNode</title>
|
||||
<link rel=help href="https://dom.spec.whatwg.org/#dom-node-issamenode">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
test(function() {
|
||||
|
||||
var doctype1 = document.implementation.createDocumentType("qualifiedName", "publicId", "systemId");
|
||||
var doctype2 = document.implementation.createDocumentType("qualifiedName", "publicId", "systemId");
|
||||
|
||||
assert_true(doctype1.isSameNode(doctype1), "self-comparison");
|
||||
assert_false(doctype1.isSameNode(doctype2), "same properties");
|
||||
assert_false(doctype1.isSameNode(null), "with null other node");
|
||||
}, "doctypes should be comapred on reference");
|
||||
|
||||
test(function() {
|
||||
|
||||
var element1 = document.createElementNS("namespace", "prefix:localName");
|
||||
var element2 = document.createElementNS("namespace", "prefix:localName");
|
||||
|
||||
assert_true(element1.isSameNode(element1), "self-comparison");
|
||||
assert_false(element1.isSameNode(element2), "same properties");
|
||||
assert_false(element1.isSameNode(null), "with null other node");
|
||||
|
||||
}, "elements should be compared on reference");
|
||||
|
||||
test(function() {
|
||||
|
||||
var element1 = document.createElement("element");
|
||||
element1.setAttributeNS("namespace", "prefix:localName", "value");
|
||||
|
||||
var element2 = document.createElement("element");
|
||||
element2.setAttributeNS("namespace", "prefix:localName", "value");
|
||||
|
||||
assert_true(element1.isSameNode(element1), "self-comparison");
|
||||
assert_false(element1.isSameNode(element2), "same properties");
|
||||
assert_false(element1.isSameNode(null), "with null other node");
|
||||
|
||||
}, "elements should be compared on reference");
|
||||
|
||||
test(function() {
|
||||
|
||||
var pi1 = document.createProcessingInstruction("target", "data");
|
||||
var pi2 = document.createProcessingInstruction("target", "data");
|
||||
|
||||
assert_true(pi1.isSameNode(pi1), "self-comparison");
|
||||
assert_false(pi1.isSameNode(pi2), "different target");
|
||||
assert_false(pi1.isSameNode(null), "with null other node");
|
||||
|
||||
}, "processing instructions should be compared on reference");
|
||||
|
||||
test(function() {
|
||||
|
||||
var text1 = document.createTextNode("data");
|
||||
var text2 = document.createTextNode("data");
|
||||
|
||||
assert_true(text1.isSameNode(text1), "self-comparison");
|
||||
assert_false(text1.isSameNode(text2), "same properties");
|
||||
assert_false(text1.isSameNode(null), "with null other node");
|
||||
|
||||
}, "text nodes should be compared on reference");
|
||||
|
||||
test(function() {
|
||||
|
||||
var comment1 = document.createComment("data");
|
||||
var comment2 = document.createComment("data");
|
||||
|
||||
assert_true(comment1.isSameNode(comment1), "self-comparison");
|
||||
assert_false(comment1.isSameNode(comment2), "same properties");
|
||||
assert_false(comment1.isSameNode(null), "with null other node");
|
||||
|
||||
}, "comments should be compared on reference");
|
||||
|
||||
test(function() {
|
||||
|
||||
var documentFragment1 = document.createDocumentFragment();
|
||||
var documentFragment2 = document.createDocumentFragment();
|
||||
|
||||
assert_true(documentFragment1.isSameNode(documentFragment1), "self-comparison");
|
||||
assert_false(documentFragment1.isSameNode(documentFragment2), "same properties");
|
||||
assert_false(documentFragment1.isSameNode(null), "with null other node");
|
||||
|
||||
}, "document fragments should be compared on reference");
|
||||
|
||||
test(function() {
|
||||
|
||||
var document1 = document.implementation.createDocument("", "");
|
||||
var document2 = document.implementation.createDocument("", "");
|
||||
|
||||
assert_true(document1.isSameNode(document1), "self-comparison");
|
||||
assert_false(document1.isSameNode(document2), "another empty XML document");
|
||||
assert_false(document1.isSameNode(null), "with null other node");
|
||||
|
||||
}, "documents should not be compared on reference");
|
||||
|
||||
</script>
|
Loading…
Add table
Add a link
Reference in a new issue