diff options
| author | Felix Hanley <felix@userspace.com.au> | 2018-01-03 13:48:48 +0000 |
|---|---|---|
| committer | Felix Hanley <felix@userspace.com.au> | 2018-01-03 13:48:48 +0000 |
| commit | fe10d8bf1d9655b6fc34da6a2ffd5298ddf9f7ac (patch) | |
| tree | 7bcf14a24ca841df943225d234db1fb2869ec5d5 /vendor/github.com/felix/logger/logger_test.go | |
| parent | 9ac76d815bbf58bf277155354c5e61541d5ce2cc (diff) | |
| download | dhtsearch-fe10d8bf1d9655b6fc34da6a2ffd5298ddf9f7ac.tar.gz dhtsearch-fe10d8bf1d9655b6fc34da6a2ffd5298ddf9f7ac.tar.bz2 | |
Add logger dep
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") + } +} |
