|
|
- 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()
- })
|