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  }