Fix Node.isEqualNode returning false always

This commit is contained in:
Emad Eid
2015-03-08 08:58:10 -04:00
parent b437b5c8fb
commit add281e429
2 changed files with 15 additions and 0 deletions

View File

@@ -344,6 +344,7 @@
var originalAppendChild = OriginalNode.prototype.appendChild;
var originalCompareDocumentPosition =
OriginalNode.prototype.compareDocumentPosition;
var originalIsEqualNode = OriginalNode.prototype.isEqualNode;
var originalInsertBefore = OriginalNode.prototype.insertBefore;
var originalRemoveChild = OriginalNode.prototype.removeChild;
var originalReplaceChild = OriginalNode.prototype.replaceChild;
@@ -682,6 +683,10 @@
unwrapIfNeeded(otherNode));
},
isEqualNode:function(otherNode){
return originalIsEqualNode.call(unsafeUnwrap(this), unwrapIfNeeded(otherNode));
},
normalize: function() {
var nodes = snapshotNodeList(this.childNodes);
var remNodes = [];

View File

@@ -456,4 +456,14 @@ suite('Node', function() {
assert.equal(cs.length, 1);
assert.equal(cs[0], d);
});
test('isEqualNode', function() {
var div = document.createElement('div');
div.innerHTML = '<div></div>';
var clone = div.cloneNode(true);
assert.isTrue(div.isEqualNode(clone));
clone.innerHTML = "<div>x</div>";
assert.isFalse(div.isEqualNode(clone));
});
});