UNPKG

javascript-binary-converter

Version:

A utility package to quickly handle and convert various Javascript binary objects

107 lines 5.64 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const node_buffer_1 = require("node:buffer"); const expect_1 = require("expect"); const converter_1 = __importDefault(require("../../converter")); const BlobConverter_1 = __importDefault(require("../../converters/BlobConverter")); const crossPlatform_1 = require("../../utils/crossPlatform"); describe('Node general tests', () => { it('Should return an Int8Array, from Uint8Array', async function () { this.timeout(0); const uint8 = new Uint8Array([206, 134]); const int8 = (0, converter_1.default)(uint8).toInt8Array(); (0, expect_1.expect)(int8 instanceof Int8Array).toBe(true); (0, expect_1.expect)(new TextDecoder().decode(int8)).toBe('Ά'); // }); it('Should return a Uint8Array, from Int8Array', async function () { const int8 = new Int8Array([-50, -122]); const uint8 = (0, converter_1.default)(int8).toUint8Array(); (0, expect_1.expect)(uint8 instanceof Uint8Array).toBe(true); (0, expect_1.expect)(new TextDecoder().decode(uint8)).toBe('Ά'); }); it('Should return an Int16Array, from Int8Array', async function () { const int8 = new Int8Array([-50, -122]); const int16 = (0, converter_1.default)(int8).toInt16Array(); (0, expect_1.expect)(int16 instanceof Int16Array).toBe(true); (0, expect_1.expect)(int16[0]).toBe(-31026); }); it('Should return a Float32Array, from Uint8Array', async function () { const uint8 = new Uint8Array([50, 122, 1, 0]); //00110010 01111010 00000001 00000000 //00000000000000010111101000110010 const float32 = (0, converter_1.default)(uint8).toFloat32(); (0, expect_1.expect)(float32 instanceof Float32Array).toBe(true); (0, expect_1.expect)(float32[0].toString().includes('1.356709147')).toBe(true); }); it('Should return an "Ά" character, from Int8Array', async function () { const int8 = new Int8Array([-50, -122]); const text = (0, converter_1.default)(int8).toText(); (0, expect_1.expect)(text).toBe('Ά'); }); it('Should return an "Ά" character, from Uint8Array', async function () { const int8 = new Uint8Array([206, 134]); const text = (0, converter_1.default)(int8).toText(); (0, expect_1.expect)(text).toBe('Ά'); }); it('Should return a Blob, that is converted to "Ά", from Uint8Array', async function () { const uint8 = new Uint8Array([206, 134]); const blob = await (0, converter_1.default)(uint8).toBlob(); const text = await blob.text(); (0, expect_1.expect)(text).toBe('Ά'); }); it('Should return a Blob, that is converted to "Ά", from Int8Array', async function () { const int8 = new Int8Array([-50, -122]); const blob = await (0, converter_1.default)(int8).toBlob(); const text = await blob.text(); (0, expect_1.expect)(text).toBe('Ά'); }); it('Should return a dataUrl string from Blob', async function () { //@ts-ignore const blob = new node_buffer_1.Blob([206, 134]); //@ts-ignore const blobConverter = new BlobConverter_1.default(blob); const url = await blobConverter.toBase64(); (0, expect_1.expect)(typeof url).toBe('string'); }); it('Should return bytes from Blob', async function () { //@ts-ignore const blob = new node_buffer_1.Blob([206]); //@ts-ignore const blobConverter = new BlobConverter_1.default(blob); const bytes = await blobConverter.toBytes(); (0, expect_1.expect)(bytes.length).toBe(3); }); // it('Should return decimal bytes from Blob', async function () { // const blob = new Blob([1]) // const blobConverter = new BlobConverter(blob) // const decimalBytes = await blobConverter.toDecimalBytes() // expect(decimalBytes).toStrictEqual([206]) // }); it('Should return a Uint8Array, from an ArrayBuffer', async function () { const buffer = new ArrayBuffer(5); const uint8 = (0, converter_1.default)(buffer).toUint8Array(); (0, expect_1.expect)(uint8.constructor.name).toBe('Uint8Array'); (0, expect_1.expect)(uint8.buffer === buffer).toBe(true); }); it('Should return decimalBytes, from an ArrayBuffer', async function () { const int16 = new Int16Array([1, 2, 3]); let decimals = (0, converter_1.default)(int16.buffer).toDecimalBytes(); (0, expect_1.expect)(decimals).toStrictEqual([1, 0, 2, 0, 3, 0]); let int8 = new Int8Array([-1, -2]); decimals = (0, converter_1.default)(int8.buffer).toDecimalBytes(); (0, expect_1.expect)(decimals).toStrictEqual([255, 254]); const uint8 = new Uint8Array([255, 254]); decimals = (0, converter_1.default)(uint8.buffer).toDecimalBytes({ isSigned: true }); (0, expect_1.expect)(decimals).toStrictEqual([-1, -2]); }); it("Should return the system's endianness", async function () { const endianness = (0, crossPlatform_1.getSystemEndianness)(); (0, expect_1.expect)(endianness === 'LITTLE' || endianness === 'BIG').toBe(true); }); }); const uint16 = new Uint16Array([422]); const uint8 = (0, converter_1.default)(uint16).toUint8Array(); //# sourceMappingURL=node-general.spec.js.map