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