|
|
|
@ -4,43 +4,45 @@
|
|
|
|
|
|
|
|
|
|
package tstest
|
|
|
|
|
|
|
|
|
|
import "testing"
|
|
|
|
|
import (
|
|
|
|
|
"reflect"
|
|
|
|
|
"testing"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestLogListener(t *testing.T) {
|
|
|
|
|
var (
|
|
|
|
|
func TestLogLineTracker(t *testing.T) {
|
|
|
|
|
const (
|
|
|
|
|
l1 = "line 1: %s"
|
|
|
|
|
l2 = "line 2: %s"
|
|
|
|
|
l3 = "line 3: %s"
|
|
|
|
|
|
|
|
|
|
lineList = []string{l1, l2}
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
ll := ListenFor(t.Logf, lineList)
|
|
|
|
|
lt := NewLogLineTracker(t.Logf, []string{l1, l2})
|
|
|
|
|
|
|
|
|
|
if len(ll.Check()) != len(lineList) {
|
|
|
|
|
t.Errorf("expected %v, got %v", lineList, ll.Check())
|
|
|
|
|
if got, want := lt.Check(), []string{l1, l2}; !reflect.DeepEqual(got, want) {
|
|
|
|
|
t.Errorf("Check = %q; want %q", got, want)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ll.Logf(l3, "hi")
|
|
|
|
|
lt.Logf(l3, "hi")
|
|
|
|
|
|
|
|
|
|
if len(ll.Check()) != len(lineList) {
|
|
|
|
|
t.Errorf("expected %v, got %v", lineList, ll.Check())
|
|
|
|
|
if got, want := lt.Check(), []string{l1, l2}; !reflect.DeepEqual(got, want) {
|
|
|
|
|
t.Errorf("Check = %q; want %q", got, want)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ll.Logf(l1, "hi")
|
|
|
|
|
lt.Logf(l1, "hi")
|
|
|
|
|
|
|
|
|
|
if len(ll.Check()) != len(lineList)-1 {
|
|
|
|
|
t.Errorf("expected %v, got %v", lineList, ll.Check())
|
|
|
|
|
if got, want := lt.Check(), []string{l2}; !reflect.DeepEqual(got, want) {
|
|
|
|
|
t.Errorf("Check = %q; want %q", got, want)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ll.Logf(l1, "bye")
|
|
|
|
|
lt.Logf(l1, "bye")
|
|
|
|
|
|
|
|
|
|
if len(ll.Check()) != len(lineList)-1 {
|
|
|
|
|
t.Errorf("expected %v, got %v", lineList, ll.Check())
|
|
|
|
|
if got, want := lt.Check(), []string{l2}; !reflect.DeepEqual(got, want) {
|
|
|
|
|
t.Errorf("Check = %q; want %q", got, want)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ll.Logf(l2, "hi")
|
|
|
|
|
if ll.Check() != nil {
|
|
|
|
|
t.Errorf("expected empty list, got ll.Check()")
|
|
|
|
|
lt.Logf(l2, "hi")
|
|
|
|
|
|
|
|
|
|
if got, want := lt.Check(), []string(nil); !reflect.DeepEqual(got, want) {
|
|
|
|
|
t.Errorf("Check = %q; want %q", got, want)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|