aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--writers/null/null.go17
-rw-r--r--writers/null/null_test.go36
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")
+ }
+}