expect(c.doc().getWlxmlTag()).to.equal('section');
});
+ describe('root element', function() {
+ it('has no parent', function() {
+ var c = canvas.fromXML('<section></section>');
+ expect(c.doc().parent()).to.be.null;
+ });
+ });
+
describe('DocumentTextElement', function() {
it('can have its content set', function() {
var c = canvas.fromXML('<section>Alice</section>'),
it('returns DocumentTextElement instance from Text Node', function() {
var c = canvas.fromXML('<section>Alice</section>'),
- textNode = c.doc().children(0)[0].dom().get(0),
+ aliceElement = c.doc().children()[0],
+ textNode = aliceElement.dom()[0],
element = c.getDocumentElement(textNode);
+
+ expect(textNode.nodeType).to.equal(Node.TEXT_NODE, 'text node selected');
+ expect($(textNode).text()).to.equal('Alice');
+
expect(element).to.be.instanceOf(documentElement.DocumentTextElement);
expect(element.sameNode(c.doc().children()[0]));
});
describe('unwrapping', function() {
it('unwraps DocumentTextElement from its parent DocumentNodeElement if it\'s its only child', function() {
- var c = canvas.fromXML('<section><div>Alice has a cat</div></section>'),
+ var c = canvas.fromXML('<section>Alice <span>has a</span> cat</section>'),
section = c.doc(),
- text = section.children()[0].children()[0];
+ text = section.children()[1].children()[0];
text.unwrap();
- expect(section.children().length).to.equal(1);
+ expect(section.children().length).to.equal(1, 'section has one child');
expect(section.children()[0].getText()).to.equal('Alice has a cat');
})
});
it('returns position when browser selection collapsed', function() {
var c = canvas.fromXML('<section>Alice has a cat</section>'),
dom = c.doc().dom(),
- text = dom.contents(0);
+ text = dom.contents()[0];
- expect(text.text()).to.equal('Alice has a cat');
+ expect($(text).text()).to.equal('Alice has a cat');
getSelection.returns({
- anchorNode: text[0],
- focusNode: text[0],
+ anchorNode: text,
+ focusNode: text,
anchorOffset: 5,
focusOffset: 5,
isCollapsed: true