WebAssembly JS API: implement basic stub
[WebKit-https.git] / JSTests / wasm / js-api / test_basic_api.js
1 if (WebAssembly === undefined)
2     throw new Error("Couldn't find WebAssembly global object");
3
4 const functionProperties = ["validate", "compile"];
5 const constructorProperties = ["Module", "Instance", "Memory", "Table", "CompileError"];
6
7 for (const f of functionProperties)
8     if (WebAssembly[f] === undefined)
9         throw new Error(`Couldn't find WebAssembly function property "${f}"`);
10
11 for (const c of constructorProperties)
12     if (WebAssembly[c] === undefined)
13         throw new Error(`Couldn't find WebAssembly constructor property "${c}"`);
14
15 // FIXME https://bugs.webkit.org/show_bug.cgi?id=159775 Implement and test these APIs further. For now they just throw.
16
17 for (const f of functionProperties) {
18     try {
19         WebAssembly[f]();
20     } catch (e) {
21         if (e instanceof Error)
22             continue;
23         throw new Error(`Expected WebAssembly.${f}() to throw an Error, got ${e}`);
24     }
25     throw new Error(`Expected WebAssembly.${f}() to throw an Error`);
26 }
27
28 for (const c of constructorProperties) {
29     try {
30         let v = new WebAssembly[c]();
31     } catch (e) {
32         if (e instanceof Error)
33             continue;
34         throw new Error(`Expected new WebAssembly.${f}() to throw an Error, got ${e}`);
35     }
36     throw new Error(`Expected new WebAssembly.${f}() to throw an Error`);
37 }