github.com/eliastor/durgaform@v0.0.0-20220816172711-d0ab2d17673e/internal/terminal/streams_test.go (about)

     1  package terminal
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/google/go-cmp/cmp"
     7  )
     8  
     9  func TestStreamsFmtHelpers(t *testing.T) {
    10  	streams, close := StreamsForTesting(t)
    11  
    12  	streams.Print("stdout print ", 5, "\n")
    13  	streams.Eprint("stderr print ", 6, "\n")
    14  	streams.Println("stdout println", 7)
    15  	streams.Eprintln("stderr println", 8)
    16  	streams.Printf("stdout printf %d\n", 9)
    17  	streams.Eprintf("stderr printf %d\n", 10)
    18  
    19  	outp := close(t)
    20  
    21  	gotOut := outp.Stdout()
    22  	wantOut := `stdout print 5
    23  stdout println 7
    24  stdout printf 9
    25  `
    26  	if diff := cmp.Diff(wantOut, gotOut); diff != "" {
    27  		t.Errorf("wrong stdout\n%s", diff)
    28  	}
    29  
    30  	gotErr := outp.Stderr()
    31  	wantErr := `stderr print 6
    32  stderr println 8
    33  stderr printf 10
    34  `
    35  	if diff := cmp.Diff(wantErr, gotErr); diff != "" {
    36  		t.Errorf("wrong stderr\n%s", diff)
    37  	}
    38  }