summaryrefslogtreecommitdiff
path: root/test/simple/test-buffer.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/simple/test-buffer.js')
-rw-r--r--test/simple/test-buffer.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/test/simple/test-buffer.js b/test/simple/test-buffer.js
index b5a76d90f..19fa4eacb 100644
--- a/test/simple/test-buffer.js
+++ b/test/simple/test-buffer.js
@@ -923,3 +923,40 @@ assert.equal(Buffer.byteLength('aaaa==', 'base64'), 3);
assert.throws(function() {
Buffer('', 'buffer');
}, TypeError);
+
+
+// test Buffer alloc
+
+// arrays are unsupported by v8
+assert.throws(function() {
+ Buffer.alloc(0, []);
+}, TypeError);
+
+// can't create too large an alloc
+assert.throws(function() {
+ Buffer.alloc(0x3fffffff + 1);
+}, RangeError);
+
+// make sure values are assigned
+var b = {};
+Buffer.alloc(256, b);
+for (var i = 0; i < 256; i++)
+ b[i] = i;
+for (var i = 0; i < 256; i++)
+ assert.equal(b[i], i);
+assert.equal(b[257], undefined);
+
+// several other types that shouldn't throw
+Buffer.alloc(1, function() { });
+Buffer.alloc(1, /abc/);
+Buffer.alloc(1, new Date());
+
+
+// make sure disposal works
+var b = {};
+Buffer.alloc(5, b);
+for (var i = 0; i < 5; i++)
+ b[i] = i;
+Buffer.dispose(b);
+for (var i = 0; i < 5; i++)
+ assert.equal(b[i], undefined);