import {expect} from "chai"; import {concatUint8Arrays, isZeroUint8Array} from "../../../src/helpers/utils.js"; import {hexToBytesNode} from "../../util.js"; describe("helpers / bytes", () => { describe("isZeroUint8Array", () => { const testCases: {isZero: boolean; hex: string}[] = [ {hex: "0x00", isZero: true}, {hex: "0x" + "00".repeat(32), isZero: true}, {hex: "0x" + "00".repeat(96), isZero: true}, {hex: "0x" + "00".repeat(31) + "01", isZero: false}, { hex: "0xb6f21199594b56d77670564bf422cb331d5281ca2c1f9a45588a56881d8287ef8619efa6456d6cd2ef61306aa5b21311", isZero: false, }, ]; for (const {hex, isZero} of testCases) { it(`${hex} isZero = ${isZero}`, () => { const bytes = hexToBytesNode(hex); expect(isZeroUint8Array(bytes)).to.equal(isZero); }); } }); describe("concatUint8Arrays", () => { it("Should merge multiple Uint8Array", () => { const bytesArr = [ new Uint8Array([1, 2, 3]), new Uint8Array([4, 5]), new Uint8Array([6]), new Uint8Array([7, 8]), new Uint8Array([9, 10, 11]), ]; const expectedBytes = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]); const bytes = concatUint8Arrays(bytesArr); expect(bytes.toString()).to.equal(expectedBytes.toString()); }); }); });