p_guerrilla_db_redis_test.go 673 B

123456789101112131415161718192021222324252627282930313233
  1. package backends
  2. import (
  3. "bytes"
  4. "compress/zlib"
  5. "fmt"
  6. "io"
  7. "strings"
  8. "testing"
  9. )
  10. func TestCompressedData(t *testing.T) {
  11. var b bytes.Buffer
  12. var out bytes.Buffer
  13. str := "Hello Hello Hello Hello Hello Hello Hello!"
  14. sbj := "Subject:hello\r\n"
  15. b.WriteString(str)
  16. cd := newCompressedData()
  17. cd.set([]byte(sbj), &b)
  18. // compress
  19. fmt.Fprint(&out, cd)
  20. // decompress
  21. var result bytes.Buffer
  22. zReader, _ := zlib.NewReader(bytes.NewReader(out.Bytes()))
  23. io.Copy(&result, zReader)
  24. expect := sbj + str
  25. if delta := strings.Compare(expect, result.String()); delta != 0 {
  26. t.Error(delta, "compression did match, expected", expect, "but got", result.String())
  27. }
  28. }