@@ -19,6 +19,7 @@ import fs from 'node:fs';
1919import fsPromises from 'node:fs/promises' ;
2020import path from 'node:path' ;
2121import os from 'node:os' ;
22+ import { fileURLToPath } from 'node:url' ;
2223// eslint-disable-next-line import/no-internal-modules
2324import mime from 'mime/lite' ;
2425
@@ -30,6 +31,7 @@ import {
3031 detectBOM ,
3132 readFileWithEncoding ,
3233 fileExists ,
34+ readWasmBinaryFromDisk ,
3335} from './fileUtils.js' ;
3436import { StandardFileSystemService } from '../services/fileSystemService.js' ;
3537
@@ -77,6 +79,23 @@ describe('fileUtils', () => {
7779 vi . restoreAllMocks ( ) ; // Restore any spies
7880 } ) ;
7981
82+ describe ( 'readWasmBinaryFromDisk' , ( ) => {
83+ it ( 'loads a WASM binary from disk as a Uint8Array' , async ( ) => {
84+ const wasmFixtureUrl = new URL (
85+ './__fixtures__/dummy.wasm' ,
86+ import . meta. url ,
87+ ) ;
88+ const wasmFixturePath = fileURLToPath ( wasmFixtureUrl ) ;
89+ const result = await readWasmBinaryFromDisk ( wasmFixturePath ) ;
90+ const expectedBytes = new Uint8Array (
91+ await fsPromises . readFile ( wasmFixturePath ) ,
92+ ) ;
93+
94+ expect ( result ) . toBeInstanceOf ( Uint8Array ) ;
95+ expect ( result ) . toStrictEqual ( expectedBytes ) ;
96+ } ) ;
97+ } ) ;
98+
8099 describe ( 'isWithinRoot' , ( ) => {
81100 const root = path . resolve ( '/project/root' ) ;
82101
0 commit comments