mirror of
https://github.com/codedread/bitjs
synced 2025-10-03 17:49:16 +02:00
Beef up unit test coverage in io package.
This commit is contained in:
parent
5c4a085292
commit
2ed482879f
8 changed files with 164 additions and 25 deletions
|
@ -7,31 +7,41 @@
|
|||
*/
|
||||
|
||||
import { ByteBuffer } from '../io/bytebuffer.js';
|
||||
import { ByteStream } from '../io/bytestream.js';
|
||||
import 'mocha';
|
||||
import { expect } from 'chai';
|
||||
|
||||
// TODO: Only test ByteBuffer here.
|
||||
describe('bitjs.io.ByteBuffer', () => {
|
||||
/** @type {ByteBuffer} */
|
||||
let buffer;
|
||||
|
||||
beforeEach(() => {
|
||||
buffer = new ByteBuffer(4);
|
||||
});
|
||||
|
||||
it('Write_SingleByte', () => {
|
||||
buffer.writeNumber(192, 1);
|
||||
expect(buffer.ptr).equals(1);
|
||||
it('throws when initialized incorrectly', () => {
|
||||
expect(() => new ByteBuffer()).throws();
|
||||
});
|
||||
|
||||
it('Write_SingleByteNegativeNumber', () => {
|
||||
it('insertByte()', () => {
|
||||
buffer.insertByte(192);
|
||||
expect(buffer.ptr).equals(1);
|
||||
expect(buffer.data[0]).equals(192);
|
||||
});
|
||||
|
||||
it('writeNumber() with a single unsigned byte', () => {
|
||||
buffer.writeNumber(192, 1);
|
||||
expect(buffer.ptr).equals(1);
|
||||
expect(buffer.data[0]).equals(192);
|
||||
});
|
||||
|
||||
it('writeNumber() with a single negative number', () => {
|
||||
buffer.writeSignedNumber(-120, 1);
|
||||
expect(buffer.ptr).equals(1);
|
||||
expect(buffer.data[0]).equals(-120 & 0xff);
|
||||
});
|
||||
|
||||
it('Write_MultiByteNumber', () => {
|
||||
buffer.writeNumber(1234, 4);
|
||||
const stream = new ByteStream(buffer.data.buffer);
|
||||
expect(buffer.ptr).equals(4);
|
||||
});
|
||||
|
||||
|
@ -51,4 +61,21 @@ describe('bitjs.io.ByteBuffer', () => {
|
|||
it('WriteOverflowSignedNegative', () => {
|
||||
expect(() => buffer.writeSignedNumber(-129, 1)).throws();
|
||||
});
|
||||
|
||||
it('throws when trying to write invalid # of bytes', () => {
|
||||
expect(() => buffer.writeNumber(3, -1)).throws();
|
||||
expect(() => buffer.writeNumber(-3, 1)).throws();
|
||||
expect(() => buffer.writeSignedNumber(-3, -1)).throws();
|
||||
});
|
||||
|
||||
it('writes an ASCII string', () => {
|
||||
buffer.writeASCIIString('hi');
|
||||
expect(buffer.ptr).equals(2);
|
||||
expect(buffer.data[0]).equals('h'.charCodeAt(0));
|
||||
expect(buffer.data[1]).equals('i'.charCodeAt(0));
|
||||
});
|
||||
|
||||
it('throws in a non-ASCII string', () => {
|
||||
expect(() => buffer.writeASCIIString('Björk')).throws('Trying to write a non-ASCII string');
|
||||
});
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue