From 40d5191bb73a9036084c797b28cf88a3ebf0097e Mon Sep 17 00:00:00 2001 From: Fabian Jakobs Date: Fri, 12 Aug 2011 09:55:37 +0200 Subject: [PATCH] fix delete last line --- lib/ace/editor.js | 2 +- lib/ace/editor_text_edit_test.js | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/ace/editor.js b/lib/ace/editor.js index 2299d729..f0e0c972 100644 --- a/lib/ace/editor.js +++ b/lib/ace/editor.js @@ -832,7 +832,7 @@ var Editor =function(renderer, session) { var range = new Range(rows.first, 0, rows.last+1, 0) else var range = new Range( - rows.first-1, this.session.getLine(rows.first).length, + rows.first-1, this.session.getLine(rows.first-1).length, rows.last, this.session.getLine(rows.last).length ); this.session.remove(range); diff --git a/lib/ace/editor_text_edit_test.js b/lib/ace/editor_text_edit_test.js index 0460359c..1125c0a2 100644 --- a/lib/ace/editor_text_edit_test.js +++ b/lib/ace/editor_text_edit_test.js @@ -99,12 +99,16 @@ module.exports = { }, "test: delete last should also delete the new line of the previous line" : function() { - var session = new EditSession(["a", "b", "c"].join("\n")); + var session = new EditSession(["a", "b", "c", ""].join("\n")); var editor = new Editor(new MockRenderer(), session); - editor.moveCursorTo(2, 1); - editor.removeLines(); + editor.moveCursorTo(3, 0); + editor.removeLines(); + assert.equal(session.toString(), "a\nb\nc"); + assert.position(editor.getCursorPosition(), 2, 1); + + editor.removeLines(); assert.equal(session.toString(), "a\nb"); assert.position(editor.getCursorPosition(), 1, 1); },