comparing nodes
authorAleksander Łukasz <aleksander.lukasz@nowoczesnapolska.org.pl>
Fri, 5 Jul 2013 14:35:01 +0000 (16:35 +0200)
committerAleksander Łukasz <aleksander.lukasz@nowoczesnapolska.org.pl>
Fri, 5 Jul 2013 14:35:01 +0000 (16:35 +0200)
modules/documentCanvas/canvas/canvas.test3.js
modules/documentCanvas/canvas/documentElement.js

index 8f779d3..b041bac 100644 (file)
@@ -32,6 +32,18 @@ describe('Canvas', function() {
             });
         });
 
             });
         });
 
+        describe('DocumentElements comparison', function() {
+            it('reports dwo DocumentElements to be the same when they represent the same wlxml document element', function() {
+                var c = canvas.fromXML('<section><div></div><div></div></section>'),
+                    first_div1 = c.doc().children()[0],
+                    first_div2 = c.doc().children()[0],
+                    second_div = c.doc().children()[1];
+                expect(first_div1.sameNode(first_div1)).to.be.true;
+                expect(first_div1.sameNode(first_div2)).to.be.true;
+                expect(first_div1.sameNode(second_div)).to.be.false;
+            });
+        });
+
         describe('traversing', function() {
             it('reports element nodes', function() {
                 var c = canvas.fromXML('<section><div></div></section>'),
         describe('traversing', function() {
             it('reports element nodes', function() {
                 var c = canvas.fromXML('<section><div></div></section>'),
index 637da5f..2225e0c 100644 (file)
@@ -31,6 +31,10 @@ $.extend(DocumentElement.prototype, {
             toret.push(element);
         });
         return toret;
             toret.push(element);
         });
         return toret;
+    },
+
+    sameNode: function(other) {
+        return other && (typeof other === typeof this) && other.$element[0] === this.$element[0];
     }
 });
 
     }
 });