diff options
author | Kevin Chabowski <kevin@kch42.de> | 2013-08-06 14:14:10 +0200 |
---|---|---|
committer | Kevin Chabowski <kevin@kch42.de> | 2013-08-06 14:14:10 +0200 |
commit | 944c2c74c0756e6b768757475546da459d06e95e (patch) | |
tree | b840c791843da83eece39e4e4ee862af5d15aa98 /LimitedWriter_test.go | |
download | kagus-944c2c74c0756e6b768757475546da459d06e95e.tar.gz kagus-944c2c74c0756e6b768757475546da459d06e95e.tar.bz2 kagus-944c2c74c0756e6b768757475546da459d06e95e.zip |
Initial commit.
Diffstat (limited to 'LimitedWriter_test.go')
-rw-r--r-- | LimitedWriter_test.go | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/LimitedWriter_test.go b/LimitedWriter_test.go new file mode 100644 index 0000000..5af9d71 --- /dev/null +++ b/LimitedWriter_test.go @@ -0,0 +1,33 @@ +package kagus + +import ( + "bytes" + "testing" +) + +func TestLimitedWriting(t *testing.T) { + buf := new(bytes.Buffer) + lw := &LimitedWriter{buf, 10} + + if _, err := lw.Write([]byte{1, 2}); err != nil { + t.Fatalf("lw.Write failed: %s", err) + } + + if lw.N != 8 { + t.Fatalf("lw.N was supposed to be 8, is %d", lw.N) + } + + if !bytes.Equal(buf.Bytes(), []byte{1, 2}) { + t.Errorf("Unexpected content of buf: %v", buf.Bytes()) + } + + n, err := lw.Write([]byte{3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}) + if (n != 8) || (err != WriteLimitReached) { + t.Fatalf("lw.Write returned with unexpected n, err: %d, %s", n, err) + } + + n, err = lw.Write([]byte("trololo")) + if (n != 0) || (err != WriteLimitReached) { + t.Fatalf("lw.Write returned with unexpected n, err: %d, %s", n, err) + } +} |