feat(README, filledDataView, sizedDataView)
This commit is contained in:
@ -1,6 +1,38 @@
|
||||
import { describe, test, expect } from 'vitest'
|
||||
import { expectDataViewEqual, filledDataView, sizedDataView } from '.'
|
||||
import { isHeadless, parse, serialize, sizeof, sizeofHead } from '../src'
|
||||
import { expectDataViewEqual } from '.'
|
||||
import { filledDataView, sizedDataView } from '../src'
|
||||
import { Int, isHeadless, parse, serialize, sizeof, sizeofHead, Struct } from '../src'
|
||||
|
||||
describe('README', () => {
|
||||
test('header', () => {
|
||||
const User = Struct({
|
||||
id: Int(32, 'unsigned'),
|
||||
name: String,
|
||||
age: Number,
|
||||
array: [Array, Boolean],
|
||||
raw_data: DataView,
|
||||
})
|
||||
|
||||
const user = {
|
||||
id: 1,
|
||||
name: 'john',
|
||||
age: 20,
|
||||
array: [true, false],
|
||||
raw_data: filledDataView([0x00, 0x00, 0x00, 0xFF]),
|
||||
}
|
||||
|
||||
const dv = sizedDataView(sizeof(user, User))
|
||||
serialize(dv, user, User)
|
||||
|
||||
const user_copy = parse(dv, User)
|
||||
|
||||
expect(user_copy).toEqual(user)
|
||||
expectDataViewEqual(user_copy.raw_data, user.raw_data)
|
||||
})
|
||||
test('unknown sizeof', () => {
|
||||
expect(() => sizeof(Array, Boolean)).toThrowError('unknown size of Array,Boolean')
|
||||
})
|
||||
})
|
||||
|
||||
describe('serialize', () => {
|
||||
test('Boolean', () => {
|
||||
|
||||
Reference in New Issue
Block a user