OSDN Git Service

add package
[bytom/vapor.git] / vendor / github.com / hashicorp / go-hclog / nulllogger_test.go
1 package hclog
2
3 import (
4         "testing"
5         "github.com/stretchr/testify/assert"
6 )
7
8 var logger = NewNullLogger()
9
10 func TestNullLoggerIsEfficient(t *testing.T) {
11         // Since statements like "IsWarn()", "IsError()", etc. are used to gate
12         // actually writing warning and error statements, the null logger will
13         // be faster and more efficient if it always returns false for these calls.
14         assert.False(t, logger.IsTrace())
15         assert.False(t, logger.IsDebug())
16         assert.False(t, logger.IsInfo())
17         assert.False(t, logger.IsWarn())
18         assert.False(t, logger.IsError())
19 }
20
21 func TestNullLoggerReturnsNullLoggers(t *testing.T) {
22
23         // Sometimes the logger is asked to return subloggers.
24         // These should also be a nullLogger.
25
26         subLogger := logger.With()
27         _, ok := subLogger.(*nullLogger)
28         assert.True(t, ok)
29
30         subLogger = logger.Named("")
31         _, ok = subLogger.(*nullLogger)
32         assert.True(t, ok)
33
34         subLogger = logger.ResetNamed("")
35         _, ok = subLogger.(*nullLogger)
36         assert.True(t, ok)
37 }
38
39 func TestStandardLoggerIsntNil(t *testing.T) {
40         // Don't return a nil pointer for the standard logger,
41         // lest it cause a panic.
42         stdLogger := logger.StandardLogger(nil)
43         assert.NotEqual(t, nil, stdLogger)
44 }