8 func TestFixedBufferCap(t *testing.T) {
9 buf := &fixedBuffer{buf: make([]byte, 0, 5)}
13 t.Fatalf("expected buffer capacity to be 5 bytes, got %d", n)
17 func TestFixedBufferLen(t *testing.T) {
18 buf := &fixedBuffer{buf: make([]byte, 0, 10)}
20 buf.Write([]byte("hello"))
23 t.Fatalf("expected buffer length to be 5 bytes, got %d", l)
26 buf.Write([]byte("world"))
29 t.Fatalf("expected buffer length to be 10 bytes, got %d", l)
38 t.Fatalf("expected buffer length to be 5 bytes, got %d", l)
41 n, err := buf.Write([]byte("i-wont-fit"))
43 t.Fatalf("expected no bytes to be written to buffer, got %d", n)
45 if err != errBufferFull {
46 t.Fatalf("expected errBufferFull, got %v", err)
51 t.Fatalf("expected buffer length to still be 5 bytes, got %d", l)
57 t.Fatalf("expected buffer length to still be 0 bytes, got %d", l)
61 func TestFixedBufferString(t *testing.T) {
62 buf := &fixedBuffer{buf: make([]byte, 0, 10)}
64 buf.Write([]byte("hello"))
65 buf.Write([]byte("world"))
68 if out != "helloworld" {
69 t.Fatalf("expected output to be \"helloworld\", got %q", out)
76 // test that fixedBuffer.String() only returns the part that hasn't been read
79 t.Fatalf("expected output to be \"world\", got %q", out)
83 func TestFixedBufferWrite(t *testing.T) {
84 buf := &fixedBuffer{buf: make([]byte, 0, 64)}
85 n, err := buf.Write([]byte("hello"))
91 t.Fatalf("expected 5 bytes written, got %d", n)
94 if string(buf.buf[:5]) != "hello" {
95 t.Fatalf("expected \"hello\", got %q", string(buf.buf[:5]))
98 n, err = buf.Write(bytes.Repeat([]byte{1}, 64))
100 t.Fatalf("expected 59 bytes written before buffer is full, got %d", n)
102 if err != errBufferFull {
103 t.Fatalf("expected errBufferFull, got %v - %v", err, buf.buf[:64])
107 func TestFixedBufferRead(t *testing.T) {
108 buf := &fixedBuffer{buf: make([]byte, 0, 64)}
109 if _, err := buf.Write([]byte("hello world")); err != nil {
114 n, err := buf.Read(b)
120 t.Fatalf("expected 5 bytes read, got %d - %s", n, buf.String())
123 if string(b) != "hello" {
124 t.Fatalf("expected \"hello\", got %q", string(b))
133 t.Fatalf("expected 5 bytes read, got %d", n)
136 if string(b) != " worl" {
137 t.Fatalf("expected \" worl\", got %s", string(b))
147 t.Fatalf("expected 1 byte read, got %d - %s", n, buf.String())
150 if string(b) != "d" {
151 t.Fatalf("expected \"d\", got %s", string(b))