 
         line1 = editor.tokenizedLineForScreenRow(1)
         expectValues lineStateForScreenRow(presenter, 1), {
-          screenRow: 1
           text: line1.text
           tokens: line1.tokens
-          top: 10 * 1
         }
 
         line2 = editor.tokenizedLineForScreenRow(2)
         expectValues lineStateForScreenRow(presenter, 2), {
-          screenRow: 2
           text: line2.text
           tokens: line2.tokens
-          top: 10 * 2
         }
 
         line3 = editor.tokenizedLineForScreenRow(3)
         expectValues lineStateForScreenRow(presenter, 3), {
-          screenRow: 3
           text: line3.text
           tokens: line3.tokens
-          top: 10 * 3
-        }
+        }

          top: 10 * 5
        }

    describe "when ::lineHeight changes", ->
      it "updates the lines that are visible on screen", ->
        presenter = new TextEditorPresenter(model: editor, clientHeight: 15, scrollTop: 10, lineHeight: 10, lineOverdrawMargin: 0)

        line1 = editor.tokenizedLineForScreenRow(1)
        line2 = editor.tokenizedLineForScreenRow(2)
        line3 = editor.tokenizedLineForScreenRow(3)
        line4 = editor.tokenizedLineForScreenRow(4)
        line5 = editor.tokenizedLineForScreenRow(5)
        line6 = editor.tokenizedLineForScreenRow(6)

        expect(lineStateForScreenRow(presenter, 1)).toBeDefined()
        expect(lineStateForScreenRow(presenter, 2)).toBeDefined()
        expect(lineStateForScreenRow(presenter, 3)).toBeDefined()
        expect(lineStateForScreenRow(presenter, 4)).toBeUndefined()
        expect(lineStateForScreenRow(presenter, 5)).toBeUndefined()

        presenter.setLineHeight(5)

        expect(lineStateForScreenRow(presenter, 1)).toBeUndefined()

        expectValues lineStateForScreenRow(presenter, 2), {
          screenRow: 2
          text: line2.text
          tokens: line2.tokens
          top: 5 * 2
        }

        expectValues lineStateForScreenRow(presenter, 3), {
          screenRow: 3
          text: line3.text
          tokens: line3.tokens
          top: 5 * 3
        }

        expectValues lineStateForScreenRow(presenter, 4), {
          screenRow: 4
          text: line4.text
          tokens: line4.tokens
          top: 5 * 4
        }

        expectValues lineStateForScreenRow(presenter, 5), {
          screenRow: 5
          text: line5.text
          tokens: line5.tokens
          top: 5 * 5
        }

        expect(lineStateForScreenRow(presenter, 6)).toBeUndefined()

    describe "when the editor's content changes", ->

      presenter.state.content.lines[presenter.model.tokenizedLineForScreenRow(screenRow).id]

    describe "on initialization", ->
      it "contains the lines that are visible on screen, plus and minus the overdraw margin", ->
        presenter = new TextEditorPresenter(model: editor, clientHeight: 15, scrollTop: 50, lineHeight: 10, lineOverdrawMargin: 1)

        expect(lineStateForScreenRow(presenter, 3)).toBeUndefined()

        line4 = editor.tokenizedLineForScreenRow(4)
        expectValues lineStateForScreenRow(presenter, 4), {
