+
+ describe('Basic Element inserting', function() {
+ it('can put new NodeElement at the end', function() {
+ var c = canvas.fromXML('<section></section>'),
+ appended = c.doc().append({tag: 'header', klass: 'some.class'}),
+ children = c.doc().children();
+
+ expect(children.length).to.equal(1);
+ expect(children[0].sameNode(appended));
+ });
+
+ it('can put new TextElement at the end', function() {
+ var c = canvas.fromXML('<section></section>'),
+ appended = c.doc().append({text: 'Alice'}),
+ children = c.doc().children();
+
+ expect(children.length).to.equal(1);
+ expect(children[0].sameNode(appended));
+ expect(children[0].getText()).to.equal('Alice');
+ });
+
+ it('can put new NodeElement after another NodeElement', function() {
+ var c = canvas.fromXML('<section><div></div></section>'),
+ div = c.doc().children()[0],
+ added = div.after({tag: 'header', klass: 'some.class'}),
+ children = c.doc().children();
+ 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));
+ });
+
+ it('can put new DocumentNodeElement after DocumentTextElement', function() {
+ var c = canvas.fromXML('<section>Alice</section>'),
+ text = c.doc().children()[0],
+ added = text.after({tag: 'p'}),
+ children = c.doc().children();
+
+ expect(children.length).to.equal(2);
+ expect(children[0]).to.be.instanceOf(documentElement.DocumentTextElement);
+ expect(children[0].getText()).to.equal('Alice');
+ expect(children[1]).to.be.instanceOf(documentElement.DocumentNodeElement);
+ expect(children[1].sameNode(added)).to.be.true;
+ });
+ });
+