package websocket | |
import ( | |
"bytes" | |
"io" | |
"testing" | |
) | |
type nopCloser struct{ io.Writer } | |
func (nopCloser) Close() error { return nil } | |
func TestTruncWriter(t *testing.T) { | |
const data = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijlkmnopqrstuvwxyz987654321" | |
for n := 1; n <= 10; n++ { | |
var b bytes.Buffer | |
w := &truncWriter{w: nopCloser{&b}} | |
p := []byte(data) | |
for len(p) > 0 { | |
m := len(p) | |
if m > n { | |
m = n | |
} | |
w.Write(p[:m]) | |
p = p[m:] | |
} | |
if b.String() != data[:len(data)-len(w.p)] { | |
t.Errorf("%d: %q", n, b.String()) | |
} | |
} | |
} |