summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/mailru/easyjson/buffer/pool_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/mailru/easyjson/buffer/pool_test.go')
-rw-r--r--vendor/github.com/mailru/easyjson/buffer/pool_test.go107
1 files changed, 107 insertions, 0 deletions
diff --git a/vendor/github.com/mailru/easyjson/buffer/pool_test.go b/vendor/github.com/mailru/easyjson/buffer/pool_test.go
new file mode 100644
index 000000000..680623ace
--- /dev/null
+++ b/vendor/github.com/mailru/easyjson/buffer/pool_test.go
@@ -0,0 +1,107 @@
+package buffer
+
+import (
+ "bytes"
+ "testing"
+)
+
+func TestAppendByte(t *testing.T) {
+ var b Buffer
+ var want []byte
+
+ for i := 0; i < 1000; i++ {
+ b.AppendByte(1)
+ b.AppendByte(2)
+ want = append(want, 1, 2)
+ }
+
+ got := b.BuildBytes()
+ if !bytes.Equal(got, want) {
+ t.Errorf("BuildBytes() = %v; want %v", got, want)
+ }
+}
+
+func TestAppendBytes(t *testing.T) {
+ var b Buffer
+ var want []byte
+
+ for i := 0; i < 1000; i++ {
+ b.AppendBytes([]byte{1, 2})
+ want = append(want, 1, 2)
+ }
+
+ got := b.BuildBytes()
+ if !bytes.Equal(got, want) {
+ t.Errorf("BuildBytes() = %v; want %v", got, want)
+ }
+}
+
+func TestAppendString(t *testing.T) {
+ var b Buffer
+ var want []byte
+
+ s := "test"
+ for i := 0; i < 1000; i++ {
+ b.AppendBytes([]byte(s))
+ want = append(want, s...)
+ }
+
+ got := b.BuildBytes()
+ if !bytes.Equal(got, want) {
+ t.Errorf("BuildBytes() = %v; want %v", got, want)
+ }
+}
+
+func TestDumpTo(t *testing.T) {
+ var b Buffer
+ var want []byte
+
+ s := "test"
+ for i := 0; i < 1000; i++ {
+ b.AppendBytes([]byte(s))
+ want = append(want, s...)
+ }
+
+ out := &bytes.Buffer{}
+ n, err := b.DumpTo(out)
+ if err != nil {
+ t.Errorf("DumpTo() error: %v", err)
+ }
+
+ got := out.Bytes()
+ if !bytes.Equal(got, want) {
+ t.Errorf("DumpTo(): got %v; want %v", got, want)
+ }
+
+ if n != len(want) {
+ t.Errorf("DumpTo() = %v; want %v", n, len(want))
+ }
+}
+
+func TestReadCloser(t *testing.T) {
+ var b Buffer
+ var want []byte
+
+ s := "test"
+ for i := 0; i < 1000; i++ {
+ b.AppendBytes([]byte(s))
+ want = append(want, s...)
+ }
+
+ out := &bytes.Buffer{}
+ rc := b.ReadCloser()
+ n, err := out.ReadFrom(rc)
+ if err != nil {
+ t.Errorf("ReadCloser() error: %v", err)
+ }
+ rc.Close() // Will always return nil
+
+ got := out.Bytes()
+ if !bytes.Equal(got, want) {
+ t.Errorf("DumpTo(): got %v; want %v", got, want)
+ }
+
+ if n != int64(len(want)) {
+ t.Errorf("DumpTo() = %v; want %v", n, len(want))
+ }
+}