diff options
Diffstat (limited to 'vendor/github.com/oxtoacart/bpool/bytepool_test.go')
-rw-r--r-- | vendor/github.com/oxtoacart/bpool/bytepool_test.go | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/vendor/github.com/oxtoacart/bpool/bytepool_test.go b/vendor/github.com/oxtoacart/bpool/bytepool_test.go new file mode 100644 index 0000000..216fd5b --- /dev/null +++ b/vendor/github.com/oxtoacart/bpool/bytepool_test.go @@ -0,0 +1,37 @@ +package bpool + +import "testing" + +func TestBytePool(t *testing.T) { + var size int = 4 + var width int = 10 + + bufPool := NewBytePool(size, width) + + // Check the width + if bufPool.Width() != width { + t.Fatalf("bytepool width invalid: got %v want %v", bufPool.Width(), width) + } + + // Check that retrieved buffer are of the expected width + b := bufPool.Get() + if len(b) != width { + t.Fatalf("bytepool length invalid: got %v want %v", len(b), width) + } + + bufPool.Put(b) + + // Fill the pool beyond the capped pool size. + for i := 0; i < size*2; i++ { + bufPool.Put(make([]byte, bufPool.w)) + } + + // Close the channel so we can iterate over it. + close(bufPool.c) + + // Check the size of the pool. + if len(bufPool.c) != size { + t.Fatalf("bytepool size invalid: got %v want %v", len(bufPool.c), size) + } + +} |