compression_test.go 553 B

12345678910111213141516171819202122232425262728293031
  1. package websocket
  2. import (
  3. "bytes"
  4. "io"
  5. "testing"
  6. )
  7. type nopCloser struct{ io.Writer }
  8. func (nopCloser) Close() error { return nil }
  9. func TestTruncWriter(t *testing.T) {
  10. const data = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijlkmnopqrstuvwxyz987654321"
  11. for n := 1; n <= 10; n++ {
  12. var b bytes.Buffer
  13. w := &truncWriter{w: nopCloser{&b}}
  14. p := []byte(data)
  15. for len(p) > 0 {
  16. m := len(p)
  17. if m > n {
  18. m = n
  19. }
  20. w.Write(p[:m])
  21. p = p[m:]
  22. }
  23. if b.String() != data[:len(data)-len(w.p)] {
  24. t.Errorf("%d: %q", n, b.String())
  25. }
  26. }
  27. }