| 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) { |
| 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) |
| 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) |
| |
| 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) { |
| 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) |
| |
| t.end() |
| }) |