1
0
Fork 0
mirror of https://github.com/codedread/bitjs synced 2025-10-03 09:39:16 +02:00
bitjs/tests/io-bytebuffer-test.html
2018-01-20 11:12:31 -08:00

62 lines
1.7 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>Unit tests for bitjs.io.ByteBufferBitStream</title>
<script src="muther.js"></script>
<script src="../io/bitstream.js"></script>
<script src="../io/bytebuffer.js"></script>
<script src="../io/bytestream.js"></script>
</head>
<body>
<script>
const assert = muther.assert;
const assertEquals = muther.assertEquals;
const assertThrows = muther.assertThrows;
// TODO: Only test ByteBuffer here.
let buffer;
muther.go({
setUp: function() {
buffer = new bitjs.io.ByteBuffer(4);
},
tests: {
testWrite_SingleByte() {
buffer.writeNumber(192, 1);
assertEquals(1, buffer.ptr);
},
testWrite_SingleByteNegativeNumber() {
buffer.writeSignedNumber(-120, 1);
assertEquals(1, buffer.ptr);
},
testWrite_MultiByteNumber() {
buffer.writeNumber(1234, 4);
const stream = new bitjs.io.ByteStream(buffer.data.buffer);
assertEquals(4, buffer.ptr);
},
testWrite_MultiByteNegativeNumber() {
buffer.writeSignedNumber(-1234, 4);
assertEquals(4, buffer.ptr);
},
testWriteOverflowUnsigned() {
assertThrows(() => buffer.writeNumber(256, 1),
'Did not throw when trying to write a number into too-few bytes');
},
testWriteOverflowSignedPositive() {
assertThrows(() => buffer.writeSignedNumber(128, 1),
'Did not throw when trying to write a signed number into too-few bytes');
},
testWriteOverflowSignedNegative() {
assertThrows(() => buffer.writeSignedNumber(-129, 1),
'Did not throw when trying to write a negative signed number into too-few bytes');
},
},
});
</script>
</body>
</html>