feat(DataView, ConstDataView)

This commit is contained in:
2025-08-04 15:33:12 +03:00
parent 72f6102f0c
commit 504bfbeae8
11 changed files with 179 additions and 37 deletions

View File

@ -1,6 +1,6 @@
import { describe, expect, test } from "vitest";
import { parse, serialize, sizeof, Struct } from "../src";
import { filledDataView, sizedDataView } from ".";
import { expectDataViewEqual, filledDataView, sizedDataView } from ".";
describe(Struct.name, () => {
@ -20,11 +20,11 @@ describe(Struct.name, () => {
expect(21).toEqual(dv.byteLength)
serialize(dv, user, User)
expect(dv).toEqual(user_dv)
expectDataViewEqual(dv, user_dv)
})
test('parse, headless', () => {
expect(parse(user_dv, User)).toEqual(user)
expectDataViewEqual(parse(user_dv, User), user)
})
const Vector2 = Struct({ x: Number, y: Number })
@ -39,11 +39,11 @@ describe(Struct.name, () => {
expect(16).toEqual(dv.byteLength)
serialize(dv, vector2, Vector2)
expect(dv).toEqual(vector2_dv)
expectDataViewEqual(dv, vector2_dv)
})
test('parse, non-headless', () => {
expect(parse(vector2_dv, Vector2)).toEqual(vector2)
expectDataViewEqual(parse(vector2_dv, Vector2), vector2)
})
const Nested = Struct({ user: User, vector2: [Vector2] })
@ -61,10 +61,10 @@ describe(Struct.name, () => {
test('serialize, nested', () => {
const dv = sizedDataView(sizeof(nested, Nested))
serialize(dv, nested, Nested)
expect(dv).toEqual(nested_dv)
expectDataViewEqual(dv, nested_dv)
})
test('parse, nested', () => {
expect(parse(nested_dv, Nested)).toEqual(nested)
expectDataViewEqual(parse(nested_dv, Nested), nested)
})
})