Rely on clipScreenPosition in vertical movement methods

Before, we were manually clipping the position of the cursor in
vertical movement methods. Now we can just increment / decrement the
row and the position will be clipped when it is assigned.

Also, changed the definition of clip screen position to always 0 out
the column when the row is negative.
This commit is contained in:
Nathan Sobo
2012-02-27 13:16:21 -07:00
parent f24a045e11
commit f2f401e5a1
4 changed files with 9 additions and 6 deletions

View File

@@ -320,6 +320,7 @@ describe "LineFolder", ->
it "returns the nearest valid position based on the current screen lines", ->
expect(folder.clipScreenPosition([-1, -1])).toEqual [0, 0]
expect(folder.clipScreenPosition([0, -1])).toEqual [0, 0]
expect(folder.clipScreenPosition([-1, 5])).toEqual [0, 0]
expect(folder.clipScreenPosition([1, 10000])).toEqual [1, 30]
expect(folder.clipScreenPosition([2, 15])).toEqual [2, 15]
expect(folder.clipScreenPosition([4, 32])).toEqual [4, 32]

View File

@@ -244,6 +244,7 @@ describe "LineWrapper", ->
it "disallows negative positions", ->
expect(wrapper.clipScreenPosition([-1, -1])).toEqual [0, 0]
expect(wrapper.clipScreenPosition([-1, 10])).toEqual [0, 0]
expect(wrapper.clipScreenPosition([0, -1])).toEqual [0, 0]
it "disallows positions beyond the last row", ->