From db99bac00451c0853f6bb3c5e56c88e45d48eee1 Mon Sep 17 00:00:00 2001 From: Liam Galvin Date: Tue, 7 Aug 2018 21:07:22 +0100 Subject: [PATCH] Fixed CSI-J-1 erase line to cursor --- buffer/buffer.go | 2 +- buffer/buffer_test.go | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/buffer/buffer.go b/buffer/buffer.go index 09b769a..1c48466 100644 --- a/buffer/buffer.go +++ b/buffer/buffer.go @@ -361,7 +361,7 @@ func (buffer *Buffer) EraseDisplayToCursor() { if err != nil { return } - for i := 0; i < int(buffer.cursorY); i++ { + for i := 0; i < int(buffer.cursorX); i++ { line.cells[i].erase() } for i := uint16(0); i < buffer.cursorY; i++ { diff --git a/buffer/buffer_test.go b/buffer/buffer_test.go index b807428..589a520 100644 --- a/buffer/buffer_test.go +++ b/buffer/buffer_test.go @@ -383,14 +383,15 @@ func TestEraseDisplay(t *testing.T) { func TestEraseDisplayToCursor(t *testing.T) { b := NewBuffer(80, 5, CellAttributes{}) b.Write([]rune("hello\nasdasd\nthing")...) - b.MovePosition(-3, 0) + b.MovePosition(-2, 0) b.EraseDisplayToCursor() lines := b.GetVisibleLines() assert.Equal(t, "", lines[0].String()) assert.Equal(t, "", lines[1].String()) - assert.Equal(t, "\x00\x00ing", lines[2].String()) + assert.Equal(t, "\x00\x00\x00ng", lines[2].String()) } + func TestEraseDisplayAfterCursor(t *testing.T) { b := NewBuffer(80, 5, CellAttributes{}) b.Write([]rune("hello\nasdasd\nthings")...)