|
1 | 1 | 'use strict'; |
2 | 2 |
|
3 | 3 | var notepack = require('../'); |
| 4 | +var notepackBrowser = { encode : require('../browser/encode.js'), |
| 5 | + decode : require('../browser/decode.js') }; |
4 | 6 |
|
5 | 7 | function array(length) { |
6 | 8 | var arr = new Array(length); |
@@ -308,3 +310,23 @@ describe('notepack', function () { |
308 | 310 | expect(notepack.decode(notepack.encode(fixture))).to.deep.equal(fixture); |
309 | 311 | }); |
310 | 312 | }); |
| 313 | + |
| 314 | +describe('notepack browser', function() { |
| 315 | + it('ArrayBuffer view', function() { |
| 316 | + expect(notepackBrowser.decode(Uint8Array.from([ 0x93, 1, 2, 3 ]))).to.deep.equal([ 1, 2, 3 ]); |
| 317 | + }); |
| 318 | + |
| 319 | + it('offset ArrayBuffer view', function() { |
| 320 | + var buffer = new ArrayBuffer(14); |
| 321 | + var view = new Uint8Array(buffer); |
| 322 | + |
| 323 | + // Fill with junk before setting the encoded data |
| 324 | + view.fill(0xFF); |
| 325 | + |
| 326 | + // Put the encoded data somewhere in the middle of the buffer |
| 327 | + view.set([ 0x93, 1, 2, 3 ], 4); |
| 328 | + |
| 329 | + expect(notepackBrowser.decode(new Uint8Array(buffer, 4, 4))).to.deep.equal([ 1, 2, 3 ]); |
| 330 | + expect(notepackBrowser.decode(new Uint16Array(buffer, 4, 2))).to.deep.equal([ 1, 2, 3 ]); |
| 331 | + }); |
| 332 | +}); |
0 commit comments