diff options
Diffstat (limited to 'vendor/github.com/felix/logger/logger_test.go')
| -rw-r--r-- | vendor/github.com/felix/logger/logger_test.go | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/vendor/github.com/felix/logger/logger_test.go b/vendor/github.com/felix/logger/logger_test.go new file mode 100644 index 0000000..3f64430 --- /dev/null +++ b/vendor/github.com/felix/logger/logger_test.go @@ -0,0 +1,114 @@ +package logger + +import ( + "bytes" + "strings" + "testing" +) + +func TestKeyValueWriter(t *testing.T) { + var tests = []struct { + in []interface{} + out string + }{ + { + in: []interface{}{"one"}, + out: "[INFO ] test: message=one\n", + }, + { + in: []interface{}{"one", "two", "2"}, + out: "[INFO ] test: message=one two=2\n", + }, + { + in: []interface{}{"one", "two", "2", "three", 3}, + out: "[INFO ] test: message=one two=2 three=3\n", + }, + { + in: []interface{}{"one", "two", "2", "three", 3, "fo ur", "# 4"}, + out: "[INFO ] test: message=one two=2 three=3 \"fo ur\"=\"# 4\"\n", + }, + } + + for _, tt := range tests { + var buf bytes.Buffer + logger := New(&Options{ + Name: "test", + Output: &buf, + }) + + logger.Info(tt.in...) + + str := buf.String() + + // Chop timestamp + dataIdx := strings.IndexByte(str, ' ') + rest := str[dataIdx+1:] + + if rest != tt.out { + t.Errorf("Info(%q) => %q, expected %q\n", tt.in, rest, tt.out) + } + } +} + +func TestKeyValueWriterWithFields(t *testing.T) { + var tests = []struct { + in []interface{} + out string + }{ + { + in: []interface{}{"one"}, + out: "[INFO ] test: message=one added=this\n", + }, + { + in: []interface{}{"one", "two", "2"}, + out: "[INFO ] test: message=one two=2 added=this\n", + }, + { + in: []interface{}{"one", "two", "2", "three", 3}, + out: "[INFO ] test: message=one two=2 three=3 added=this\n", + }, + { + in: []interface{}{"one", "two", "2", "three", 3, "fo ur", "# 4"}, + out: "[INFO ] test: message=one two=2 three=3 \"fo ur\"=\"# 4\" added=this\n", + }, + } + for _, tt := range tests { + var buf bytes.Buffer + logger := New(&Options{ + Name: "test", + Output: &buf, + }).WithFields("added", "this") + + logger.Info(tt.in...) + + str := buf.String() + + // Chop timestamp + dataIdx := strings.IndexByte(str, ' ') + rest := str[dataIdx+1:] + + if rest != tt.out { + t.Errorf("Info(%q) => %q, expected %q\n", tt.in, rest, tt.out) + } + } +} + +func TestLevels(t *testing.T) { + logger := New(&Options{ + Name: "test", + Level: Debug, + }) + + if !logger.IsDebug() { + t.Errorf("Level Debug check failed") + } + + logger = New(&Options{ + Name: "test", + Level: Error, + }) + + if !logger.IsError() { + t.Errorf("Level Error check failed") + } +} |
