Files
webRtc/WebApp/client/test/memoryhelper.test.js

67 lines
1.7 KiB
JavaScript
Raw Normal View History

2026-02-27 18:35:40 +08:00
import {
MemoryHelper
} from "../src/memoryhelper.js";
describe(`MemoryHelper.writeSingleBit`, () => {
test('turn on with offset 0', () => {
let bytes = new ArrayBuffer(3);
MemoryHelper.writeSingleBit(bytes, 0, false);
// check 00 00 00
const view = new Uint8Array(bytes);
expect(view[0]).toBe(0);
expect(view[1]).toBe(0);
expect(view[2]).toBe(0);
});
test('turn off with offset 0', () => {
let bytes = new ArrayBuffer(3);
MemoryHelper.writeSingleBit(bytes, 0, true);
// check 00 00 01
const view = new Uint8Array(bytes);
expect(view[0]).toBe(1);
expect(view[1]).toBe(0);
expect(view[2]).toBe(0);
MemoryHelper.writeSingleBit(bytes, 0, false);
// check 00 00 00
expect(view[0]).toBe(0);
expect(view[1]).toBe(0);
expect(view[2]).toBe(0);
});
test('turn on with offset 32', () => {
let bytes = new ArrayBuffer(3);
MemoryHelper.writeSingleBit(bytes, 8, true);
// check 00 01 00
const view = new Uint8Array(bytes);
expect(view[0]).toBe(0);
expect(view[1]).toBe(1);
expect(view[2]).toBe(0);
MemoryHelper.writeSingleBit(bytes, 0, true);
// check 00 01 01
expect(view[0]).toBe(1);
expect(view[1]).toBe(1);
expect(view[2]).toBe(0);
});
test('turn on with offset 15', () => {
let bytes = new ArrayBuffer(3);
MemoryHelper.writeSingleBit(bytes, 15, true);
// check 00 80 00
const view = new Uint8Array(bytes);
expect(view[0]).toBe(0);
expect(view[1]).toBe(128);
expect(view[2]).toBe(0);
MemoryHelper.writeSingleBit(bytes, 15, false);
// check 00 00 00
expect(view[0]).toBe(0);
expect(view[1]).toBe(0);
expect(view[2]).toBe(0);
});
});