// META: global=window,worker // META: script=/wasm/jsapi/wasm-module-builder.js ["compileStreaming", "instantiateStreaming"].forEach(method => { promise_test(async t => { const buffer = new WasmModuleBuilder().toBuffer(); const argument = new Response(buffer, { headers: { "Content-Type": "test/test" } }); argument.headers.set("Content-Type", "application/wasm"); // This should resolve successfully await WebAssembly[method](argument); // Ensure body can only be read once return promise_rejects_js(t, TypeError, argument.blob()); }, `${method} with Content-Type set late`); promise_test(async t => { const buffer = new WasmModuleBuilder().toBuffer(); const argument = new Response(buffer, { headers: { "Content-Type": "application/wasm" } }); argument.headers.delete("Content-Type"); // Ensure Wasm cannot be created await promise_rejects_js(t, TypeError, WebAssembly[method](argument)); // This should resolve successfully await argument.arrayBuffer(); }, `${method} with Content-Type removed late`); });