...

Source file src/github.com/mailru/easyjson/buffer/pool_test.go

Documentation: github.com/mailru/easyjson/buffer

     1  package buffer
     2  
     3  import (
     4  	"bytes"
     5  	"testing"
     6  )
     7  
     8  func TestAppendByte(t *testing.T) {
     9  	var b Buffer
    10  	var want []byte
    11  
    12  	for i := 0; i < 1000; i++ {
    13  		b.AppendByte(1)
    14  		b.AppendByte(2)
    15  		want = append(want, 1, 2)
    16  	}
    17  
    18  	got := b.BuildBytes()
    19  	if !bytes.Equal(got, want) {
    20  		t.Errorf("BuildBytes() = %v; want %v", got, want)
    21  	}
    22  }
    23  
    24  func TestAppendBytes(t *testing.T) {
    25  	var b Buffer
    26  	var want []byte
    27  
    28  	for i := 0; i < 1000; i++ {
    29  		b.AppendBytes([]byte{1, 2})
    30  		want = append(want, 1, 2)
    31  	}
    32  
    33  	got := b.BuildBytes()
    34  	if !bytes.Equal(got, want) {
    35  		t.Errorf("BuildBytes() = %v; want %v", got, want)
    36  	}
    37  }
    38  
    39  func TestAppendString(t *testing.T) {
    40  	var b Buffer
    41  	var want []byte
    42  
    43  	s := "test"
    44  	for i := 0; i < 1000; i++ {
    45  		b.AppendString(s)
    46  		want = append(want, s...)
    47  	}
    48  
    49  	got := b.BuildBytes()
    50  	if !bytes.Equal(got, want) {
    51  		t.Errorf("BuildBytes() = %v; want %v", got, want)
    52  	}
    53  }
    54  
    55  func TestDumpTo(t *testing.T) {
    56  	var b Buffer
    57  	var want []byte
    58  
    59  	s := "test"
    60  	for i := 0; i < 1000; i++ {
    61  		b.AppendBytes([]byte(s))
    62  		want = append(want, s...)
    63  	}
    64  
    65  	out := &bytes.Buffer{}
    66  	n, err := b.DumpTo(out)
    67  	if err != nil {
    68  		t.Errorf("DumpTo() error: %v", err)
    69  	}
    70  
    71  	got := out.Bytes()
    72  	if !bytes.Equal(got, want) {
    73  		t.Errorf("DumpTo(): got %v; want %v", got, want)
    74  	}
    75  
    76  	if n != len(want) {
    77  		t.Errorf("DumpTo() = %v; want %v", n, len(want))
    78  	}
    79  }
    80  
    81  func TestReadCloser(t *testing.T) {
    82  	var b Buffer
    83  	var want []byte
    84  
    85  	s := "test"
    86  	for i := 0; i < 1000; i++ {
    87  		b.AppendBytes([]byte(s))
    88  		want = append(want, s...)
    89  	}
    90  
    91  	out := &bytes.Buffer{}
    92  	rc := b.ReadCloser()
    93  	n, err := out.ReadFrom(rc)
    94  	if err != nil {
    95  		t.Errorf("ReadCloser() error: %v", err)
    96  	}
    97  	rc.Close() // Will always return nil
    98  
    99  	got := out.Bytes()
   100  	if !bytes.Equal(got, want) {
   101  		t.Errorf("DumpTo(): got %v; want %v", got, want)
   102  	}
   103  
   104  	if n != int64(len(want)) {
   105  		t.Errorf("DumpTo() = %v; want %v", n, len(want))
   106  	}
   107  }
   108  

View as plain text