github.com/woremacx/kocha@v0.7.1-0.20150731103243-a5889322afc9/log/formatter_test.go (about) 1 package log_test 2 3 import ( 4 "bytes" 5 "reflect" 6 "testing" 7 "time" 8 9 "github.com/woremacx/kocha/log" 10 ) 11 12 func TestRawFormatter_Format(t *testing.T) { 13 now := time.Now() 14 for _, v := range []struct { 15 entry *log.Entry 16 expect string 17 }{ 18 {&log.Entry{ 19 Level: log.DEBUG, 20 Time: now, 21 Message: "test_raw_log1", 22 Fields: log.Fields{ 23 "first": 1, 24 "second": "2", 25 "third": "san", 26 }, 27 }, "test_raw_log1"}, 28 {&log.Entry{ 29 Message: "test_raw_log2", 30 Level: log.INFO, 31 }, "test_raw_log2"}, 32 } { 33 var buf bytes.Buffer 34 formatter := &log.RawFormatter{} 35 if err := formatter.Format(&buf, v.entry); err != nil { 36 t.Errorf(`RawFormatter.Format(&buf, %#v) => %#v; want %#v`, v.entry, err, nil) 37 } 38 actual := buf.String() 39 expect := v.expect 40 if !reflect.DeepEqual(actual, expect) { 41 t.Errorf(`RawFormatter.Format(&buf, %#v) => %#v; want %#v`, v.entry, actual, expect) 42 } 43 } 44 } 45 46 func TestLTSVFormatter_Format(t *testing.T) { 47 now := time.Now() 48 for _, v := range []struct { 49 entry *log.Entry 50 expected string 51 }{ 52 {&log.Entry{ 53 Level: log.DEBUG, 54 Time: now, 55 Message: "test_ltsv_log1", 56 Fields: log.Fields{ 57 "first": 1, 58 "second": "2", 59 "third": "san", 60 }, 61 }, "level:DEBUG\ttime:" + now.Format(time.RFC3339Nano) + "\tmessage:test_ltsv_log1\tfirst:1\tsecond:2\tthird:san"}, 62 {&log.Entry{ 63 Level: log.INFO, 64 Time: now, 65 Message: "test_ltsv_log2", 66 }, "level:INFO\ttime:" + now.Format(time.RFC3339Nano) + "\tmessage:test_ltsv_log2"}, 67 {&log.Entry{ 68 Level: log.WARN, 69 Time: now, 70 }, "level:WARN\ttime:" + now.Format(time.RFC3339Nano)}, 71 {&log.Entry{ 72 Level: log.ERROR, 73 Time: now, 74 }, "level:ERROR\ttime:" + now.Format(time.RFC3339Nano)}, 75 {&log.Entry{ 76 Level: log.FATAL, 77 }, "level:FATAL"}, 78 {&log.Entry{}, "level:NONE"}, 79 } { 80 var buf bytes.Buffer 81 formatter := &log.LTSVFormatter{} 82 if err := formatter.Format(&buf, v.entry); err != nil { 83 t.Errorf(`LTSVFormatter.Format(&buf, %#v) => %#v; want %#v`, v.entry, err, nil) 84 } 85 actual := buf.String() 86 expected := v.expected 87 if !reflect.DeepEqual(actual, expected) { 88 t.Errorf(`LTSVFormatter.Format(&buf, %#v); buf => %#v; want %#v`, v.entry, actual, expected) 89 } 90 } 91 }