From a460688a3883b729ef335dda6b81a51103187303 Mon Sep 17 00:00:00 2001 From: Iwo Plaza Date: Thu, 9 Jul 2026 16:23:39 +0200 Subject: [PATCH] test: Enforce only argument-less functions as input to expectDataType --- packages/typegpu/tests/tgsl/conversion.test.ts | 16 +++++++++------- packages/typegpu/tests/utils/parseResolved.ts | 6 ++---- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/typegpu/tests/tgsl/conversion.test.ts b/packages/typegpu/tests/tgsl/conversion.test.ts index 0abb5666b3..37f095c8ec 100644 --- a/packages/typegpu/tests/tgsl/conversion.test.ts +++ b/packages/typegpu/tests/tgsl/conversion.test.ts @@ -51,15 +51,17 @@ describe('convertToCommonType', () => { }); it('performs pointer dereferencing', () => { - const fn = tgpu.fn( - [d.ptrFn(d.f32)], - d.f32, - )((a) => { - const t = [a.$, d.f32(2)]; + function fn(a: d.ref) { + 'use gpu'; + const t = [a.$, d.f32(2)]; // <- should convert all elements to f32 return t[0] as number; - }); + } - expectDataTypeOf(fn).toBe(d.f32); + expectDataTypeOf(() => { + 'use gpu'; + const numRef = d.ref(1); + return fn(numRef); + }).toBe(d.f32); }); it('returns undefined for incompatible types', () => { diff --git a/packages/typegpu/tests/utils/parseResolved.ts b/packages/typegpu/tests/utils/parseResolved.ts index 1c69c2dad7..1e0bff1e53 100644 --- a/packages/typegpu/tests/utils/parseResolved.ts +++ b/packages/typegpu/tests/utils/parseResolved.ts @@ -59,15 +59,13 @@ export function extractSnippetFromFn(cb: TgpuFn | (() => unknown)): Snippet { } export function expectSnippetOf( - cb: TgpuFn | (() => unknown), + cb: () => unknown, ): Assertion<[unknown, d.BaseData | UnknownData, Origin]> { const snippet = extractSnippetFromFn(cb); return expect([snippet.value, snippet.dataType, snippet.origin]); } -export function expectDataTypeOf( - cb: TgpuFn | (() => unknown), -): Assertion { +export function expectDataTypeOf(cb: () => unknown): Assertion { return expect(extractSnippetFromFn(cb).dataType); }