68 lines
1.7 KiB
JavaScript
68 lines
1.7 KiB
JavaScript
import {
|
|
MemoryHelper
|
|
} from "../../src/utils/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);
|
|
});
|
|
});
|