diff options
| -rw-r--r-- | writers/null/null.go | 17 | ||||
| -rw-r--r-- | writers/null/null_test.go | 36 |
2 files changed, 53 insertions, 0 deletions
diff --git a/writers/null/null.go b/writers/null/null.go new file mode 100644 index 0000000..47d58a2 --- /dev/null +++ b/writers/null/null.go @@ -0,0 +1,17 @@ +package null + +import ( + "src.userspace.com.au/logger/message" +) + +// Writer implementation. +type Writer struct { +} + +// New creates a new Writer writer. +func New() *Writer { + return &Writer{} +} + +// Write implements the message.Writer interface. +func (w Writer) Write(m message.Message) {} diff --git a/writers/null/null_test.go b/writers/null/null_test.go new file mode 100644 index 0000000..325e15c --- /dev/null +++ b/writers/null/null_test.go @@ -0,0 +1,36 @@ +package null + +import ( + "bytes" + "io" + "os" + "testing" + + "src.userspace.com.au/logger/message" +) + +func TestWriter(t *testing.T) { + orig := os.Stdout + r, w, _ := os.Pipe() + + os.Stdout = w + + l := New() + + l.Write(message.Message{Content: "this should not print"}) + + out := make(chan string) + go func() { + buf := new(bytes.Buffer) + io.Copy(buf, r) + out <- buf.String() + }() + + w.Close() + os.Stdout = orig + actual := <-out + + if len(actual) > 0 { + t.Errorf("expected 0 bytes") + } +} |
