X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/5766035cdc88ebe92caab7af494e5e077235d5e0..620a7d196ada7e95c73418e92715076cfed39f76:/src/editor/plugins/core/core.test.js?ds=inline
diff --git a/src/editor/plugins/core/core.test.js b/src/editor/plugins/core/core.test.js
index f227b67..27a7254 100644
--- a/src/editor/plugins/core/core.test.js
+++ b/src/editor/plugins/core/core.test.js
@@ -546,7 +546,7 @@ describe('Keyboard interactions', function() {
expect(selection.element.sameNode(getTextElement('has a cat', c))).to.equal(true);
expect(selection.offset).to.equal(0);
});
- it('deletes span if it contains only one character', function() {
+ it('deletes span if it contains only one character (1)', function() {
var c = getCanvasFromXML(''),
k = new Keyboard(c);
@@ -561,6 +561,21 @@ describe('Keyboard interactions', function() {
expect(selection.element.sameNode(getTextElement('Alice a cat', c))).to.equal(true);
expect(selection.offset).to.equal(6);
});
+ it('deletes span if it contains only one character (2)', function() {
+ var c = getCanvasFromXML(''),
+ k = new Keyboard(c);
+
+ k.withCaret('|b').press(K.BACKSPACE);
+
+ var rootContents = c.wlxmlDocument.root.contents();
+ expect(rootContents.length).to.equal(1);
+ expect(rootContents[0].contents()[0].getText()).to.equal('b');
+
+ var selection = c.getSelection();
+ expect(selection.type).to.equal('caret');
+ expect(selection.element.sameNode(getTextElement('b', c))).to.equal(true);
+ expect(selection.offset).to.equal(0);
+ });
});
describe('splitting with enter', function() {
@@ -621,6 +636,17 @@ describe('Keyboard interactions', function() {
expect(selection.offset).to.equal(0);
});
+ it('does nothing on an empty paragraph', function() {
+ var c = getCanvasFromXML(''),
+ k = new Keyboard(c),
+ spy = sinon.spy();
+
+ k.withCaret('a|').press(K.BACKSPACE);
+ c.wlxmlDocument.on('change', spy);
+ k.press(K.ENTER);
+ expect(spy.callCount).to.equal(0);
+ });
+
it('splits its parent box if inside a span', function() {
var c = getCanvasFromXML(''),
k = new Keyboard(c);