github.com/ssgreg/logf@v1.4.1/caller_test.go (about) 1 package logf 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func TestEntryCallerFileWithPackage(t *testing.T) { 10 cases := []struct { 11 caller EntryCaller 12 golden string 13 }{ 14 { 15 caller: EntryCaller{0, "/a/b/c/d.go", 66, true}, 16 golden: "c/d.go", 17 }, 18 { 19 caller: EntryCaller{0, "c/d.go", 66, true}, 20 golden: "c/d.go", 21 }, 22 { 23 caller: EntryCaller{0, "d.go", 66, true}, 24 golden: "d.go", 25 }, 26 } 27 28 for _, c := range cases { 29 assert.Equal(t, c.golden, c.caller.FileWithPackage()) 30 } 31 } 32 33 func TestEntryCaller(t *testing.T) { 34 caller := NewEntryCaller(0) 35 36 assert.True(t, caller.Specified) 37 assert.True(t, caller.Line > 0 && caller.Line < 1000) 38 assert.Equal(t, "logf/caller_test.go", caller.FileWithPackage()) 39 assert.Contains(t, caller.File, "/logf/caller_test.go") 40 } 41 42 func TestShortCallerEncoder(t *testing.T) { 43 enc := testTypeEncoder{} 44 caller := EntryCaller{0, "/a/b/c/d.go", 66, true} 45 ShortCallerEncoder(caller, &enc) 46 47 assert.EqualValues(t, "c/d.go:66", enc.result) 48 } 49 50 func TestFullCallerEncoder(t *testing.T) { 51 enc := testTypeEncoder{} 52 caller := EntryCaller{0, "/a/b/c/d.go", 66, true} 53 FullCallerEncoder(caller, &enc) 54 55 assert.EqualValues(t, "/a/b/c/d.go:66", enc.result) 56 }