123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- var Buffer = require('buffer').Buffer
- var test = require('tape')
- var toArrayBuffer = require('.')
- function elementsEqual (ab, buffer) {
- var view = new Uint8Array(ab)
- for (var i = 0; i < view.length; i++) {
- if (view[i] !== buffer[i]) {
- return false
- }
- }
- return true
- }
- test('Basic behavior', function (t) {
- var buf = new Buffer(10)
- for (var i = 0; i < 10; i++) {
- buf[i] = i
- }
- var ab = toArrayBuffer(buf)
- t.equals(ab.byteLength, 10, 'correct length')
- t.ok(elementsEqual(ab, buf), 'elements equal')
- t.end()
- })
- test('Behavior when input is a subarray 1', function (t) {
- var origBuf = new Buffer(10)
- for (var i = 0; i < 10; i++) {
- origBuf[i] = i
- }
- var buf = origBuf.slice(1)
- var ab = toArrayBuffer(buf)
- t.equals(ab.byteLength, 9, 'correct length')
- t.ok(elementsEqual(ab, buf), 'elements equal')
- t.notOk(ab === buf.buffer, 'the underlying ArrayBuffer is not returned when incorrect')
- t.end()
- })
- test('Behavior when input is a subarray 2', function (t) {
- var origBuf = new Buffer(10)
- for (var i = 0; i < 10; i++) {
- origBuf[i] = i
- }
- var buf = origBuf.slice(0, 9)
- var ab = toArrayBuffer(buf)
- t.equals(ab.byteLength, 9, 'correct length')
- t.ok(elementsEqual(ab, buf), 'elements equal')
- t.notOk(ab === buf.buffer, 'the underlying ArrayBuffer is not returned when incorrect')
- t.end()
- })
|