Files
duckdb-ui/ts/pkgs/duckdb-data-values/test/DuckDBBitValue.test.ts
Jeff Raymakers 0edb52054a add duckdb-ui-client & other ts pkgs (#10)
* add duckdb-ui-client & other ts pkgs

* workflow fixes

* fix working dir

* no sparse checkout; specify package.json path

* path to pnpm-lock.yaml

* add check & build test

* workflow step descriptions

* use comments & names

* one more naming tweak
2025-06-13 09:16:05 -07:00

34 lines
1.3 KiB
TypeScript

import { expect, suite, test } from 'vitest';
import { DuckDBBitValue } from '../src/DuckDBBitValue';
suite('DuckDBBitValue', () => {
test('should render an empty byte array to the correct string', () => {
expect(new DuckDBBitValue(new Uint8Array([])).toString()).toStrictEqual('');
});
test('should render bit string with no padding to the correct string', () => {
expect(
new DuckDBBitValue(new Uint8Array([0x00, 0xf1, 0xe2, 0xd3])).toString(),
).toStrictEqual('111100011110001011010011');
});
test('should render bit string with padding to the correct string', () => {
expect(
new DuckDBBitValue(new Uint8Array([0x03, 0xf1, 0xe2, 0xd3])).toString(),
).toStrictEqual('100011110001011010011');
});
test('should round-trip bit string with no padding', () => {
expect(
DuckDBBitValue.fromString('111100011110001011010011').toString(),
).toStrictEqual('111100011110001011010011');
});
test('should round-trip bit string with padding', () => {
expect(
DuckDBBitValue.fromString('100011110001011010011').toString(),
).toStrictEqual('100011110001011010011');
});
test('toJson', () => {
expect(
DuckDBBitValue.fromString('100011110001011010011').toJson(),
).toStrictEqual('100011110001011010011');
});
});