var expect = chai.expect;
+
describe('Canvas', function() {
describe('basic properties', function() {
it('renders empty document when canvas created from empty XML', function() {
});
});
-
describe('free text handling', function() {
it('sees free text', function() {
var c = canvas.fromXML('<section>Alice <span>has</span> a cat</section>'),
expect(children[2]).to.be.instanceOf(documentElement.DocumentTextElement);
});
});
+
describe('white characters handling', function() {
it('says empty element node has no children', function() {
var c = canvas.fromXML('<section></section>');
});
it('ignores white space surrounding block elements', function() {
var c = canvas.fromXML('<section> <div></div> </section>');
- var children = c.doc().children();
- expect(children.length).to.equal(1);
- expect(children[0]).to.be.instanceOf(documentElement.DocumentNodeElement);
+ var children = c.doc().children();
+ expect(children.length).to.equal(1);
+ expect(children[0]).to.be.instanceOf(documentElement.DocumentNodeElement);
});
it('ignores white space between block elements', function() {
var c = canvas.fromXML('<section><div></div> <div></div></section>');
- var children = c.doc().children();
- expect(children.length === 2);
- [0,1].forEach(function(idx) {
- expect(children[idx]).to.be.instanceOf(documentElement.DocumentNodeElement);
- });
+ var children = c.doc().children();
+ expect(children.length === 2);
+ [0,1].forEach(function(idx) {
+ expect(children[idx]).to.be.instanceOf(documentElement.DocumentNodeElement);
+ });
});
});
- })
+ });
describe('manipulation api', function() {
-
-
describe('Basic Element inserting', function() {
it('can put new NodeElement at the end', function() {
expect(returned.sameNode(parent)).to.be.true;
expect(returned.sameNode(parent2)).to.be.true;
});
- })
+ });
});
});
});
-/*describe('Canvas', function() {
- it('can wrap selected document nodes in a list', function() {
- var c = canvas.fromXML('\
- <section>\
- <div>Alice</div>\
- <div>has</div>\
- <div>a cat</div>\
- </section>
- ');
- var div_alice = c.doc().children({tag: 'div'})[0];
- var div_cat = c.doc().children({tag: 'div'})[2];
- c.doc.wrapInList({start: div_alice, end: div_cat});
-
- expect(c.doc().children().length === 3)
-
-
- })
-});*/
-
-
-
});
\ No newline at end of file
$.extend(DocumentNodeElement.prototype, {
append: function(params) {
- var to_append = DocumentNodeElement.createDOM(params.tag, params.klass)
+ var to_append = DocumentNodeElement.createDOM(params.tag, params.klass);
this.$element.append(to_append);
return documentElementFromHTMLElement(to_append);
},
after: function(params) {
- var to_append = DocumentNodeElement.createDOM(params.tag, params.klass)
+ var to_append = DocumentNodeElement.createDOM(params.tag, params.klass);
this.$element.after(to_append);
return documentElementFromHTMLElement(to_append);
}
-})
+});
DocumentNodeElement.createDOM = function(tag, klass) {
var dom = $('<' + tag + '>');
if(klass)
dom.attr('class', klass);
return dom;
-}
+};
var documentElementFromHTMLElement = function(htmlElement) {
if(htmlElement.nodeType === Node.ELEMENT_NODE)
return new DocumentNodeElement(htmlElement);
if(htmlElement.nodeType === Node.TEXT_NODE)
return new DocumentTextElement(htmlElement);
-}
+};
return {
wrap: function(htmlElement) {