github.com/ssgreg/logf@v1.4.1/error_test.go (about)

     1  package logf
     2  
     3  import (
     4  	"errors"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  func TestDefaultErrorEncoderWithPlainError(t *testing.T) {
    11  	e := errors.New("simple error")
    12  	enc := newTestFieldEncoder()
    13  	DefaultErrorEncoder("error", e, enc)
    14  
    15  	assert.EqualValues(t, e.Error(), enc.result["error"])
    16  	assert.EqualValues(t, 1, len(enc.result))
    17  }
    18  
    19  func TestDefaultErrorEncoderWithVerboseError(t *testing.T) {
    20  	e := &verboseError{"short", "verbose"}
    21  	enc := newTestFieldEncoder()
    22  	DefaultErrorEncoder("error", e, enc)
    23  
    24  	assert.EqualValues(t, 2, len(enc.result))
    25  	assert.EqualValues(t, e.short, enc.result["error"])
    26  	assert.EqualValues(t, e.full, enc.result["error.verbose"])
    27  }
    28  
    29  func TestDefaultErrorEncoderWithNil(t *testing.T) {
    30  	enc := newTestFieldEncoder()
    31  	DefaultErrorEncoder("error", nil, enc)
    32  
    33  	assert.EqualValues(t, 1, len(enc.result))
    34  	assert.EqualValues(t, "<nil>", enc.result["error"])
    35  }
    36  
    37  func TestNewErrorEncoderWithCustomVerboseFieldSuffix(t *testing.T) {
    38  	e := &verboseError{"short", "verbose"}
    39  	enc := newTestFieldEncoder()
    40  	NewErrorEncoder(ErrorEncoderConfig{
    41  		VerboseFieldSuffix: "-verbose",
    42  	})("error", e, enc)
    43  
    44  	assert.EqualValues(t, 2, len(enc.result))
    45  	assert.EqualValues(t, e.short, enc.result["error"])
    46  	assert.EqualValues(t, e.full, enc.result["error-verbose"])
    47  }
    48  
    49  func TestNewErrorEncoderWithNoVerboseField(t *testing.T) {
    50  	e := &verboseError{"short", "verbose"}
    51  	enc := newTestFieldEncoder()
    52  	NewErrorEncoder(ErrorEncoderConfig{
    53  		NoVerboseField: true,
    54  	})("error", e, enc)
    55  
    56  	assert.EqualValues(t, 1, len(enc.result))
    57  	assert.EqualValues(t, e.short, enc.result["error"])
    58  }