23 lines
535 B
JavaScript
23 lines
535 B
JavaScript
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);
|
|
});
|