blob: b47d3ac33ee7c505fe0f7cfc38179d4c878ea3b8 [file] [log] [blame]
import { instantiate } from "../wabt-wrapper.js";
import * as assert from '../assert.js';
(async function () {
let wat = `
(module
(func $callee (import "env" "callee") (result i32 i32))
(func (export "func") (result i32 i32) (call $callee))
)
`;
let flag = true;
let instance = await instantiate(wat, {
env: {
callee: function ()
{
if (flag)
return [32];
return [32, 32, 32, 32];
}
}
}, {});
assert.throws(() => {
instance.exports.func();
}, TypeError, `Incorrect number of values returned to Wasm from JS`);
flag = false;
assert.throws(() => {
instance.exports.func();
}, TypeError, `Incorrect number of values returned to Wasm from JS`);
}()).catch($vm.abort);