test('failing to delete will not trigger deleting hooks', (assert) => { assert.expect(0); editor = new Editor({mobiledoc: mobileDocWith2Sections}); editor.willDelete(() => { assert.ok(false, 'willDelete should not be triggered'); }); editor.didDelete(() => { assert.ok(false, 'didDelete should not be triggered'); }); editor.render(editorElement); editor.disableEditing(); Helpers.dom.triggerDelete(editor); });
test('deleting chracter triggers deleting hooks', (assert) => { assert.expect(9); let lifeCycles = []; editor = new Editor({mobiledoc: mobileDocWith2Sections}); editor.willDelete((range, direction, unit) => { assert.ok(range, 'range is not empty'); assert.equal(direction, -1, 'direction defaults to -1'); assert.equal(unit, 'char', 'unit defaults to char'); assert.ok(true, 'willDelete is triggered'); lifeCycles.push('willDelete'); }); editor.didDelete((range, direction, unit) => { assert.ok(range, 'range is not empty'); assert.equal(direction, -1, 'direction defaults to -1'); assert.equal(unit, 'char', 'unit defaults to char'); assert.ok(true, 'didDelete is triggered'); lifeCycles.push('didDelete'); }); editor.render(editorElement); Helpers.dom.triggerDelete(editor); assert.deepEqual(lifeCycles, ['willDelete', 'didDelete'], 'hooks are triggered in order'); });