blob: 0a052fdcf3c16c307631830b0f600679b04ad7a3 [file] [log] [blame]
import { addOne } from "./wasm-imports-js-exports/imports.wasm"
import * as assert from '../assert.js';
assert.isFunction(addOne);
assert.eq(addOne(32), 33);
assert.eq(addOne(-2), -1);
assert.eq(addOne(0x7fffffff), -2147483648);
import { incrementCount } from "./wasm-imports-js-exports/global.wasm";
import { count } from "./wasm-imports-js-exports/global.js";
assert.isFunction(incrementCount);
assert.eq(count.valueOf(), 42);
incrementCount();
assert.eq(count.valueOf(), 43);
import { getElem } from "./wasm-imports-js-exports/table.wasm";
assert.isFunction(getElem);
assert.eq(getElem(), "foo");
import { getMem } from "./wasm-imports-js-exports/memory.wasm";
assert.isFunction(getMem);
assert.eq(getMem(0), 42);
assert.eq(getMem(65535), 0);
assert.throws(() => getMem(65536), WebAssembly.RuntimeError, "Out of bounds memory access");
import { getMem as sharedGetMem } from "./wasm-imports-js-exports/shared-memory.wasm";
assert.isFunction(sharedGetMem);
assert.eq(sharedGetMem(0), 42);
assert.eq(sharedGetMem(65535), 0);
assert.throws(() => sharedGetMem(65536), WebAssembly.RuntimeError, "Out of bounds memory access");
import("./wasm-imports-js-exports/memory-fail-1.wasm").then($vm.abort, function (error) {
assert.eq(String(error), `LinkError: Memory import ./memory-fail-1.js:memory is not an instance of WebAssembly.Memory`);
}).then(function () { }, $vm.abort);
import("./wasm-imports-js-exports/memory-fail-2.wasm").then($vm.abort, function (error) {
assert.eq(String(error), `LinkError: Memory import ./memory-fail-2.js:memory provided an 'initial' that is smaller than the module's declared 'initial' import memory size`);
}).then(function () { }, $vm.abort);
import("./wasm-imports-js-exports/memory-fail-3.wasm").then($vm.abort, function (error) {
assert.eq(String(error), `LinkError: Memory import ./memory-fail-3.js:memory did not have a 'maximum' but the module requires that it does`);
}).then(function () { }, $vm.abort);
import("./wasm-imports-js-exports/memory-fail-4.wasm").then($vm.abort, function (error) {
assert.eq(String(error), `LinkError: Memory import ./memory-fail-4.js:memory provided a 'maximum' that is larger than the module's declared 'maximum' import memory size`);
}).then(function () { }, $vm.abort);
import("./wasm-imports-js-exports/memory-fail-5.wasm").then($vm.abort, function (error) {
assert.eq(String(error), `LinkError: Memory import ./memory-fail-5.js:memory provided a 'shared' that is different from the module's declared 'shared' import memory attribute`);
}).then(function () { }, $vm.abort);