github.com/markusbkk/elvish@v0.0.0-20231204143114-91dc52438621/pkg/cli/term/writer_test.go (about)

     1  package term
     2  
     3  import (
     4  	"strings"
     5  	"testing"
     6  )
     7  
     8  func TestWriter(t *testing.T) {
     9  	sb := &strings.Builder{}
    10  	testOutput := func(want string) {
    11  		t.Helper()
    12  		if sb.String() != want {
    13  			t.Errorf("got %q, want %q", sb.String(), want)
    14  		}
    15  		sb.Reset()
    16  	}
    17  
    18  	w := NewWriter(sb)
    19  	w.UpdateBuffer(
    20  		NewBufferBuilder(10).Write("note 1").Buffer(),
    21  		NewBufferBuilder(10).Write("line 1").SetDotHere().Buffer(),
    22  		false)
    23  	testOutput(hideCursor + "\rnote 1\033[K\n" + "line 1\r\033[6C" + showCursor)
    24  }