summaryrefslogtreecommitdiff
path: root/vendor/github.com/oxtoacart/bpool/bytepool_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/oxtoacart/bpool/bytepool_test.go')
-rw-r--r--vendor/github.com/oxtoacart/bpool/bytepool_test.go37
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)
+ }
+
+}