mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Test element prefix for element equality
This commit is contained in:
parent
52e857dd7b
commit
0fa8e51432
3 changed files with 29 additions and 2 deletions
|
@ -2368,8 +2368,8 @@ impl<'a> NodeMethods for &'a Node {
|
|||
fn is_equal_element(node: &Node, other: &Node) -> bool {
|
||||
let element: &Element = ElementCast::to_ref(node).unwrap();
|
||||
let other_element: &Element = ElementCast::to_ref(other).unwrap();
|
||||
// FIXME: namespace prefix
|
||||
(*element.namespace() == *other_element.namespace()) &&
|
||||
(*element.prefix() == *other_element.prefix()) &&
|
||||
(*element.local_name() == *other_element.local_name()) &&
|
||||
(element.attrs().len() == other_element.attrs().len())
|
||||
}
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
[Node-isEqualNode.xhtml]
|
||||
type: testharness
|
||||
disabled: xml
|
||||
expected: TIMEOUT
|
||||
[isEqualNode should return true when only the internal subsets of DocumentTypes differ.]
|
||||
expected: NOTRUN
|
||||
|
||||
|
|
|
@ -33,6 +33,30 @@ test(function() {
|
|||
assert_true(a.isEqualNode(b))
|
||||
}, "isEqualNode should return true when the attributes are in a different order")
|
||||
|
||||
test(function() {
|
||||
var a = document.createElementNS("ns", "prefix:foo")
|
||||
var b = document.createElementNS("ns", "prefix:foo")
|
||||
assert_true(a.isEqualNode(b))
|
||||
}, "isEqualNode should return true if elements have same namespace, prefix, and local name")
|
||||
|
||||
test(function() {
|
||||
var a = document.createElementNS("ns1", "prefix:foo")
|
||||
var b = document.createElementNS("ns2", "prefix:foo")
|
||||
assert_false(a.isEqualNode(b))
|
||||
}, "isEqualNode should return false if elements have different namespace")
|
||||
|
||||
test(function() {
|
||||
var a = document.createElementNS("ns", "prefix1:foo")
|
||||
var b = document.createElementNS("ns", "prefix2:foo")
|
||||
assert_false(a.isEqualNode(b))
|
||||
}, "isEqualNode should return false if elements have different prefix")
|
||||
|
||||
test(function() {
|
||||
var a = document.createElementNS("ns", "prefix:foo1")
|
||||
var b = document.createElementNS("ns", "prefix:foo2")
|
||||
assert_false(a.isEqualNode(b))
|
||||
}, "isEqualNode should return false if elements have different local name")
|
||||
|
||||
test(function() {
|
||||
var a = document.createElement("foo")
|
||||
a.setAttributeNS("ns", "x:a", "bar")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue