From aad680440d9322dd95c6bb9a0dbead4cff6274ec Mon Sep 17 00:00:00 2001 From: nikitar020 <42252263+nikitar020@users.noreply.github.com> Date: Thu, 31 Jan 2019 18:48:55 +0000 Subject: [PATCH] Fix the bug when carriage returns doubled on input (#188) fix tests --- buffer/buffer_test.go | 4 ++++ buffer/terminal_state.go | 1 + 2 files changed, 5 insertions(+) diff --git a/buffer/buffer_test.go b/buffer/buffer_test.go index 00c998b..323fb04 100644 --- a/buffer/buffer_test.go +++ b/buffer/buffer_test.go @@ -118,6 +118,8 @@ func TestBufferWriteIncrementsCursorCorrectly(t *testing.T) { func TestWritingNewLineAsFirstRuneOnWrappedLine(t *testing.T) { b := NewBuffer(NewTerminalState(3, 20, CellAttributes{}, 1000)) + b.terminalState.LineFeedMode = false + b.Write('a', 'b', 'c') assert.Equal(t, uint16(3), b.terminalState.cursorX) assert.Equal(t, uint16(0), b.terminalState.cursorY) @@ -141,6 +143,7 @@ func TestWritingNewLineAsFirstRuneOnWrappedLine(t *testing.T) { func TestWritingNewLineAsSecondRuneOnWrappedLine(t *testing.T) { b := NewBuffer(NewTerminalState(3, 20, CellAttributes{}, 1000)) + b.terminalState.LineFeedMode = false /* |abc |d @@ -624,6 +627,7 @@ dbye func TestBufferMaxLines(t *testing.T) { b := NewBuffer(NewTerminalState(80, 2, CellAttributes{}, 2)) + b.terminalState.LineFeedMode = false b.Write([]rune("hello")...) b.NewLine() diff --git a/buffer/terminal_state.go b/buffer/terminal_state.go index a8948ce..e39f211 100644 --- a/buffer/terminal_state.go +++ b/buffer/terminal_state.go @@ -30,6 +30,7 @@ func NewTerminalState(viewCols uint16, viewLines uint16, attr CellAttributes, ma viewHeight: viewLines, topMargin: 0, bottomMargin: uint(viewLines - 1), + LineFeedMode: true, } b.TabReset() return b