l can't move the cursor past the last character.

This commit is contained in:
Corey Johnson 2012-02-06 10:38:56 -08:00
parent 425e2b4f59
commit ea48ae626c
2 changed files with 7 additions and 6 deletions

View File

@ -1,7 +1,7 @@
Editor = require 'editor'
VimMode = require 'vim-mode'
describe "VimMode", ->
fdescribe "VimMode", ->
editor = null
beforeEach ->
@ -149,11 +149,11 @@ describe "VimMode", ->
describe "the l keybinding", ->
it "moves the cursor right, but not to the next line", ->
editor.setCursorPosition([1,4])
editor.setCursorPosition([1,3])
editor.trigger keydownEvent('l')
expect(editor.getCursorPosition()).toEqual([1,5])
expect(editor.getCursorPosition()).toEqual([1,4])
editor.trigger keydownEvent('l')
expect(editor.getCursorPosition()).toEqual([1,5])
expect(editor.getCursorPosition()).toEqual([1,4])
describe "the w keybinding", ->
it "moves the cursor to the beginning of the next word", ->

View File

@ -17,8 +17,9 @@ class MoveLeft extends Motion
class MoveRight extends Motion
execute: ->
{column, row} = @editor.getCursorPosition()
currentLineLength = @editor.buffer.getLine(row).length
@editor.moveCursorRight() if column < currentLineLength
console.log @editor.getCurrentLine().length
isOnLastCharachter = @editor.getCursorColumn() == @editor.getCurrentLine().length - 1
@editor.moveCursorRight() unless isOnLastCharachter
class MoveUp extends Motion
execute: ->