binarywriter.js
1.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
var BinaryWriter = require('../lib/binarywriter');
var assert = require('assert');
describe('wkx', function () {
describe('BinaryWriter', function () {
it('writeVarInt - 1', function () {
var binaryWriter = new BinaryWriter(1);
var length = binaryWriter.writeVarInt(1);
assert.equal(binaryWriter.buffer.toString('hex'), '01');
assert.equal(length, 1);
});
it('writeVarInt - 300', function () {
var binaryWriter = new BinaryWriter(2);
var length = binaryWriter.writeVarInt(300);
assert.equal(binaryWriter.buffer.toString('hex'), 'ac02');
assert.equal(length, 2);
});
it('writeUInt8 - enough space', function () {
var binaryWriter = new BinaryWriter(1);
binaryWriter.writeUInt8(1);
assert.equal(binaryWriter.buffer.length, 1);
assert.equal(binaryWriter.position, 1);
});
it('writeUInt16LE - not enough space', function () {
var binaryWriter = new BinaryWriter(1);
assert.throws(function () { binaryWriter.writeUInt16LE(1); }, /RangeError: index out of range/);
});
it('writeUInt8 - enough space / allow resize', function () {
var binaryWriter = new BinaryWriter(1, true);
binaryWriter.writeUInt8(1);
assert.equal(binaryWriter.buffer.length, 1);
assert.equal(binaryWriter.position, 1);
});
it('writeUInt16LE - not enough space / allow resize', function () {
var binaryWriter = new BinaryWriter(1, true);
binaryWriter.writeUInt16LE(1);
assert.equal(binaryWriter.buffer.length, 2);
assert.equal(binaryWriter.position, 2);
});
});
});