it('wraps text spanning multiple sibling TextNodes', function() {
var section = elementNodeFromXML('<section>Alice has a <span>small</span> cat</section>'),
wrapper = section.wrapText({
- _with: {tag: 'span', attrs: {'attr1': 'value1'}},
+ _with: {tagName: 'span', attrs: {'attr1': 'value1'}},
offsetStart: 6,
offsetEnd: 4,
textNodeIdx: [0,2]
var wrapper2 = section.contents()[1];
expect(wrapper2.sameNode(wrapper)).to.be.true;
+ expect(wrapper.getTagName()).to.equal('span');
var wrapperContents = wrapper.contents();
expect(wrapperContents.length).to.equal(3);
});
describe('Events', function() {
+ it('emits nodeDetached event on node detach', function() {
+ var node = elementNodeFromXML('<div><div></div></div>'),
+ innerNode = node.contents()[0],
+ spy = sinon.spy();
+ node.document.on('change', spy);
+
+ var detached = innerNode.detach(),
+ event = spy.args[0][0];
+
+ expect(event.type).to.equal('nodeDetached');
+ expect(event.meta.node.sameNode(detached, 'detached node in event meta'));
+ expect(event.meta.parent.sameNode(node), 'original parent node in event meta');
+ }),
+
it('emits nodeAdded event when appending new node', function() {
var node = elementNodeFromXML('<div></div>'),
spy = sinon.spy();