1
0
Fork 0
mirror of https://github.com/codedread/bitjs synced 2025-10-06 02:39:55 +02:00
bitjs/tests/io-bytebuffer-test.html

58 lines
1.6 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>Unit tests for bitjs.io.ByteBufferBitStream</title>
</head>
<body>
<script type="module">
import { ByteBuffer } from '../io/bytebuffer.js';
import { ByteStream } from '../io/bytestream.js';
import { assertEquals, assertThrows, runTests } from './muther.js';
// TODO: Only test ByteBuffer here.
let buffer;
runTests({
setUp: function() {
buffer = new 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 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>