From f51f563e4f483a67aef7b025749bc8b052819b34 Mon Sep 17 00:00:00 2001 From: Alexander O'Mara Date: Wed, 20 Nov 2024 01:33:34 -0500 Subject: [PATCH] Ensure byteOffset is respected --- macro.test.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/macro.test.ts b/macro.test.ts index bf2f99d..d24dbe5 100644 --- a/macro.test.ts +++ b/macro.test.ts @@ -53,8 +53,8 @@ Deno.test('endianSwap', () => { Deno.test('assignView', () => { const src = new Uint8Array([0xff, 0xfe, 0xfd, 0xfc]); const dst = new Int8Array(src.length); - assignView(dst, src); - assertEquals(dst, new Int8Array([-1, -2, -3, -4])); + assignView(dst.subarray(1, 3), src.subarray(2, 4)); + assertEquals(dst, new Int8Array([0, -3, -4, 0])); assertThrows(() => assignView(dst, src.slice(1)), RangeError); }); @@ -85,21 +85,21 @@ Deno.test('assignStruct', () => { } { - const src = new Test(new ArrayBuffer(Test.BYTE_LENGTH)); + const src = new Test(new ArrayBuffer(Test.BYTE_LENGTH + 1), 1); src.alpha = 65; src.beta = 66; - const dst = new Test(new ArrayBuffer(Test.BYTE_LENGTH)); + const dst = new Test(new ArrayBuffer(Test.BYTE_LENGTH + 2), 2); assignStruct(dst, src); assertEquals(dst.alpha, 65); assertEquals(dst.beta, 66); } { - const src = new TestExt(new ArrayBuffer(TestExt.BYTE_LENGTH)); + const src = new TestExt(new ArrayBuffer(TestExt.BYTE_LENGTH + 1), 1); src.alpha = 65; src.beta = 66; src.gamma = 71; - const dst = new Test(new ArrayBuffer(Test.BYTE_LENGTH)); + const dst = new Test(new ArrayBuffer(Test.BYTE_LENGTH + 2), 2); assignStruct(dst, src); assertEquals(dst.alpha, 65); assertEquals(dst.beta, 66);