Adding new document element before another one
authorAleksander Łukasz <aleksander.lukasz@nowoczesnapolska.org.pl>
Mon, 8 Jul 2013 11:02:48 +0000 (13:02 +0200)
committerAleksander Łukasz <aleksander.lukasz@nowoczesnapolska.org.pl>
Mon, 8 Jul 2013 11:02:48 +0000 (13:02 +0200)
modules/documentCanvas/canvas/canvas.test3.js
modules/documentCanvas/canvas/documentElement.js

index a92ddb3..ac37e30 100644 (file)
@@ -146,6 +146,15 @@ describe('Canvas', function() {
                     expect(children.length).to.equal(2);
                     expect(children[1].sameNode(added));
                 });
+
+                it('can put new Nodeelement before another element', function() {
+                    var c = canvas.fromXML('<section><div></div></section>'),
+                        div = c.doc().children()[0],
+                        added = div.before({tag: 'header', klass: 'some.class'}),
+                        children = c.doc().children();
+                    expect(children.length).to.equal(2);
+                    expect(children[0].sameNode(added));
+                });
             });
 
             describe('wrapping', function() {
index d1973b8..5457b83 100644 (file)
@@ -75,6 +75,11 @@ $.extend(DocumentNodeElement.prototype, {
         this.$element.append(to_append);
         return documentElementFromHTMLElement(to_append);
     },
+    before: function(params) {
+        var to_append = DocumentNodeElement.createDOM(params.tag, params.klass);
+        this.$element.before(to_append);
+        return documentElementFromHTMLElement(to_append);
+    },
     after: function(params) {
         var to_append = DocumentNodeElement.createDOM(params.tag, params.klass);
         this.$element.after(to_append);