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);
|
||
|
});
|