...

Source file src/oss.terrastruct.com/util-go/cmdlog/export_test.go

Documentation: oss.terrastruct.com/util-go/cmdlog

     1  package cmdlog
     2  
     3  import (
     4  	"bytes"
     5  	"fmt"
     6  	"log"
     7  	"os"
     8  	"testing"
     9  	"time"
    10  
    11  	"oss.terrastruct.com/util-go/assert"
    12  	"oss.terrastruct.com/util-go/xos"
    13  	"oss.terrastruct.com/util-go/xterm"
    14  )
    15  
    16  func init() {
    17  	timeNow = func() time.Time {
    18  		return time.Date(2000, time.January, 1, 1, 1, 1, 1, time.UTC)
    19  	}
    20  }
    21  
    22  func TestStdlog(t *testing.T) {
    23  	pw, ok := log.Default().Writer().(prefixWriter)
    24  	if !ok {
    25  		t.Fatalf("unexpected log.Default().Writer(): %T", log.Default().Writer())
    26  	}
    27  	tsw, ok := pw.w.(*tsWriter)
    28  	if !ok {
    29  		t.Fatalf("unexpected pw.w: %T", pw.w)
    30  	}
    31  	b := &bytes.Buffer{}
    32  	ow := tsw.w
    33  	tsw.w = b
    34  	defer func() {
    35  		tsw.w = ow
    36  	}()
    37  
    38  	log.Print("testing stdlog")
    39  	exp := fmt.Sprintf("[01:01:01] %s testing stdlog\n",
    40  		xterm.Prefix(xos.NewEnv(os.Environ()), os.Stderr, xterm.Blue, "stdlog"),
    41  	)
    42  	assert.String(t, exp, b.String())
    43  }
    44  

View as plain text