X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/6cd9ff4975ba90953d3c6b3918e4c7a76af6d348..5028701711e4a1ee85e88f5ff7f1caf911dad8e5:/src/editor/plugins/core/core.test.js
diff --git a/src/editor/plugins/core/core.test.js b/src/editor/plugins/core/core.test.js
index 00fc421..a33ae61 100644
--- a/src/editor/plugins/core/core.test.js
+++ b/src/editor/plugins/core/core.test.js
@@ -621,6 +621,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);
@@ -700,6 +711,29 @@ describe('Keyboard interactions', function() {
});
});
+ describe('Enter on a list items', function() {
+ afterEach(removeCanvas);
+
+ it('creates a paragraph after a list if hitting enter on the last and empty list item', function() {
+ var c = getCanvasFromXML(''),
+ k = new Keyboard(c);
+
+ k.withCaret('item|').press(K.ENTER).press(K.ENTER);
+
+ var rootContents = c.wlxmlDocument.root.contents();
+ expect(rootContents.length).to.equal(2);
+ expect(rootContents[0].is('list')).to.equal(true);
+ expect(rootContents[1].is('p')).to.equal(true);
+
+ var list = rootContents[0];
+ expect(list.contents().length).to.equal(1);
+
+ var selection = c.getSelection();
+ expect(selection.element.wlxmlNode.sameNode(rootContents[1].contents()[0])).to.equal(true);
+ expect(selection.offset).to.equal(0);
+ });
+ });
+
describe('Deleting text from a node', function() {
it('deletes last character with backspace', function() {
var c = getCanvasFromXML(''),