import {expect, test} from 'vitest'; import Schema from './schema.js'; test('validates a schema', () => { expect(() => { new Schema({test: 'unknown'}) }) .to.throw(); expect(() => { new Schema({test: 'unknown'}) }) .to.throw(); }); test('calculates the size of an instance', () => { expect((new Schema({foo: 'uint8', bar: 'uint32'})).sizeOf({foo: 69, bar: 420})) .to.equal(5); expect((new Schema({foo: 'string'})).sizeOf({foo: 'hi'})) .to.equal(4 + (new TextEncoder().encode('hi')).length); });