|
|
if (process.env.OBJECT_IMPL) global.TYPED_ARRAY_SUPPORT = false var B = require('../').Buffer var test = require('tape')
test('instanceof Buffer', function (t) { var buf = new B([1, 2]) t.ok(buf instanceof B) t.end() })
test('convert to Uint8Array in modern browsers', function (t) { if (B.TYPED_ARRAY_SUPPORT) { var buf = new B([1, 2]) var uint8array = new Uint8Array(buf.buffer) t.ok(uint8array instanceof Uint8Array) t.equal(uint8array[0], 1) t.equal(uint8array[1], 2) } else { t.pass('object impl: skipping test') } t.end() })
test('indexes from a string', function (t) { var buf = new B('abc') t.equal(buf[0], 97) t.equal(buf[1], 98) t.equal(buf[2], 99) t.end() })
test('indexes from an array', function (t) { var buf = new B([ 97, 98, 99 ]) t.equal(buf[0], 97) t.equal(buf[1], 98) t.equal(buf[2], 99) t.end() })
test('setting index value should modify buffer contents', function (t) { var buf = new B([ 97, 98, 99 ]) t.equal(buf[2], 99) t.equal(buf.toString(), 'abc')
buf[2] += 10 t.equal(buf[2], 109) t.equal(buf.toString(), 'abm') t.end() })
test('storing negative number should cast to unsigned', function (t) { var buf = new B(1)
if (B.TYPED_ARRAY_SUPPORT) { // This does not work with the object implementation -- nothing we can do!
buf[0] = -3 t.equal(buf[0], 253) }
buf = new B(1) buf.writeInt8(-3, 0) t.equal(buf[0], 253)
t.end() })
test('test that memory is copied from array-like', function (t) { if (B.TYPED_ARRAY_SUPPORT) { var u = new Uint8Array(4) var b = new B(u) b[0] = 1 b[1] = 2 b[2] = 3 b[3] = 4
t.equal(u[0], 0) t.equal(u[1], 0) t.equal(u[2], 0) t.equal(u[3], 0) } else { t.pass('object impl: skipping test') }
t.end() })
|