Revert previous commit

This commit is contained in:
Antonio Scandurra
2015-09-18 12:24:53 +02:00
parent b773b60c7b
commit 03507f7be3
2 changed files with 18 additions and 7 deletions

View File

@@ -93,7 +93,11 @@ describe "TextEditorPresenter", ->
expectValues stateFn(presenter).tiles[8], {
top: 5
}
expect(stateFn(presenter).tiles[10]).toBeUndefined()
expectValues stateFn(presenter).tiles[10], {
top: 7
}
expect(stateFn(presenter).tiles[12]).toBeUndefined()
it "includes state for all tiles if no external ::explicitHeight is assigned", ->
presenter = buildPresenter(explicitHeight: null, tileSize: 2)
@@ -162,7 +166,8 @@ describe "TextEditorPresenter", ->
expect(stateFn(presenter).tiles[0]).toBeDefined()
expect(stateFn(presenter).tiles[2]).toBeDefined()
expect(stateFn(presenter).tiles[4]).toBeUndefined()
expect(stateFn(presenter).tiles[4]).toBeDefined()
expect(stateFn(presenter).tiles[6]).toBeUndefined()
it "does not remove out-of-view tiles corresponding to ::mouseWheelScreenRow until ::stoppedScrollingDelay elapses", ->
presenter = buildPresenter(explicitHeight: 6, scrollTop: 0, lineHeight: 1, tileSize: 2, stoppedScrollingDelay: 200)
@@ -1431,7 +1436,7 @@ describe "TextEditorPresenter", ->
presenter.setBaseCharacterWidth(8)
assignedAnyHighlight = false
for tileId, tileState of presenter.getState().content.tiles
assignedAnyHighlight ||= not _.isEqual(tileState.highlights, {})
assignedAnyHighlight ||= _.isEqual(tileState.highlights, {})
expect(assignedAnyHighlight).toBe(true)
@@ -2060,7 +2065,9 @@ describe "TextEditorPresenter", ->
expectValues lineNumberStateForScreenRow(presenter, 5), {bufferRow: 4}
expectValues lineNumberStateForScreenRow(presenter, 6), {bufferRow: 7}
expectValues lineNumberStateForScreenRow(presenter, 7), {bufferRow: 8}
expect(lineNumberStateForScreenRow(presenter, 8)).toBeUndefined()
expectValues lineNumberStateForScreenRow(presenter, 8), {bufferRow: 8}
expectValues lineNumberStateForScreenRow(presenter, 9), {bufferRow: 9}
expect(lineNumberStateForScreenRow(presenter, 10)).toBeUndefined()
expectStateUpdate presenter, ->
editor.getBuffer().insert([3, Infinity], new Array(25).join("x "))
@@ -2072,7 +2079,9 @@ describe "TextEditorPresenter", ->
expectValues lineNumberStateForScreenRow(presenter, 5), {bufferRow: 3}
expectValues lineNumberStateForScreenRow(presenter, 6), {bufferRow: 4}
expectValues lineNumberStateForScreenRow(presenter, 7), {bufferRow: 7}
expect(lineNumberStateForScreenRow(presenter, 8)).toBeUndefined()
expectValues lineNumberStateForScreenRow(presenter, 8), {bufferRow: 8}
expectValues lineNumberStateForScreenRow(presenter, 9), {bufferRow: 8}
expect(lineNumberStateForScreenRow(presenter, 10)).toBeUndefined()
it "correctly handles the first screen line being soft-wrapped", ->
editor.setSoftWrapped(true)

View File

@@ -343,7 +343,9 @@ class TextEditorPresenter
updateVisibleTilesState: ->
return unless @startRow? and @endRow? and @lineHeight?
@updateTilesState([@startRow...@endRow])
startRow = @getStartTileRow()
endRow = Math.min(@model.getScreenLineCount(), @getEndTileRow() + @tileSize)
@updateTilesState([startRow...endRow])
updateTilesState: (screenRows) ->
visibleTiles = {}
@@ -360,7 +362,7 @@ class TextEditorPresenter
while screenRowIndex >= 0
currentScreenRow = screenRows[screenRowIndex]
break if currentScreenRow < tileStartRow
rowsWithinTile.unshift(currentScreenRow)
rowsWithinTile.push(currentScreenRow)
screenRowIndex--
continue if rowsWithinTile.length is 0