37 lines
773 B
Go
37 lines
773 B
Go
package langext
|
|
|
|
import (
|
|
"bytes"
|
|
"git.blackforestbytes.com/BlackForestBytes/goext/tst"
|
|
"testing"
|
|
)
|
|
|
|
func TestWriteNopCloserWrite(t *testing.T) {
|
|
var buf bytes.Buffer
|
|
wc := WriteNopCloser(&buf)
|
|
|
|
n, err := wc.Write([]byte("hello"))
|
|
if err != nil {
|
|
t.Fatalf("unexpected error: %v", err)
|
|
}
|
|
tst.AssertEqual(t, n, 5)
|
|
tst.AssertEqual(t, buf.String(), "hello")
|
|
}
|
|
|
|
func TestWriteNopCloserClose(t *testing.T) {
|
|
var buf bytes.Buffer
|
|
wc := WriteNopCloser(&buf)
|
|
|
|
err := wc.Close()
|
|
if err != nil {
|
|
t.Errorf("expected nil error from no-op Close, got %v", err)
|
|
}
|
|
|
|
// Can still write after close (it's a no-op)
|
|
_, err = wc.Write([]byte("after"))
|
|
if err != nil {
|
|
t.Errorf("expected to write after Close, got %v", err)
|
|
}
|
|
tst.AssertEqual(t, buf.String(), "after")
|
|
}
|