| const assert = require('assert'); |
| const wasm = require('wasm-bindgen-test'); |
| |
| exports.call_exports = async function() { |
| await wasm.async_do_nothing(); |
| assert.strictEqual(1, await wasm.async_return_1()); |
| assert.strictEqual(2, await wasm.async_return_2()); |
| await wasm.async_nothing_again(); |
| assert.strictEqual(3, await wasm.async_return_3()); |
| assert.strictEqual(4, await wasm.async_return_4()); |
| assert.strictEqual(5, (await wasm.async_return_5()).val); |
| assert.strictEqual(6, (await wasm.async_return_6()).val); |
| await assert.rejects(wasm.async_throw_7(), /7/); |
| await assert.rejects(wasm.async_throw_custom(), /\[object Object\]/); |
| await assert.rejects(wasm.async_throw_message(), /async message/); |
| await assert.rejects(wasm.async_throw_jserror(), /async message/); |
| await assert.rejects(wasm.async_throw_custom_error(), /custom error/); |
| assert.strictEqual("Hi, Jim!", await wasm.async_take_reference("Jim")); |
| const foo = await new wasm.AsyncStruct(); |
| assert.strictEqual(42, await foo.method()); |
| await wasm.async_take_js_reference(42); |
| const buffer = new Int32Array([1, 2, 3, 4]); |
| await wasm.async_take_mut_slice(buffer); |
| assert.deepStrictEqual(buffer, new Int32Array([42, 42, 42, 42])); |
| }; |
| |
| exports.call_promise = async function() { |
| return "ok"; |
| } |
| |
| exports.call_promise_ok = async function() { |
| return "ok"; |
| } |
| |
| exports.call_promise_err = async function() { |
| throw "error"; |
| } |
| |
| exports.call_promise_unit = async function() { |
| console.log("asdfasdf"); |
| } |
| |
| exports.call_promise_ok_unit = async function() { |
| } |
| |
| exports.call_promise_err_unit = async function() { |
| throw "error"; |
| } |