mirror of
https://github.com/rustwasm/wasm-bindgen.git
synced 2024-12-16 22:11:45 +03:00
116 lines
2.0 KiB
JavaScript
116 lines
2.0 KiB
JavaScript
const assert = require('assert');
|
|
const wasm = require('wasm-bindgen-test');
|
|
|
|
exports.works_call = a => {
|
|
a();
|
|
};
|
|
|
|
exports.works_thread = a => a(2);
|
|
|
|
let CANNOT_REUSE_CACHE = null;
|
|
|
|
exports.cannot_reuse_call = a => {
|
|
CANNOT_REUSE_CACHE = a;
|
|
};
|
|
|
|
exports.cannot_reuse_call_again = () => {
|
|
CANNOT_REUSE_CACHE();
|
|
};
|
|
|
|
exports.long_lived_call1 = a => {
|
|
a();
|
|
};
|
|
|
|
exports.long_lived_call2 = a => a(2);
|
|
|
|
exports.many_arity_call1 = a => {
|
|
a();
|
|
};
|
|
exports.many_arity_call2 = a => {
|
|
a(1);
|
|
};
|
|
exports.many_arity_call3 = a => {
|
|
a(1, 2);
|
|
};
|
|
exports.many_arity_call4 = a => {
|
|
a(1, 2, 3);
|
|
};
|
|
exports.many_arity_call5 = a => {
|
|
a(1, 2, 3, 4);
|
|
};
|
|
exports.many_arity_call6 = a => {
|
|
a(1, 2, 3, 4, 5);
|
|
};
|
|
exports.many_arity_call7 = a => {
|
|
a(1, 2, 3, 4, 5, 6);
|
|
};
|
|
exports.many_arity_call8 = a => {
|
|
a(1, 2, 3, 4, 5, 6, 7);
|
|
};
|
|
|
|
let LONG_LIVED_DROPPING_CACHE = null;
|
|
|
|
exports.long_lived_dropping_cache = a => {
|
|
LONG_LIVED_DROPPING_CACHE = a;
|
|
};
|
|
exports.long_lived_dropping_call = () => {
|
|
LONG_LIVED_DROPPING_CACHE();
|
|
};
|
|
|
|
let LONG_FNMUT_RECURSIVE_CACHE = null;
|
|
|
|
exports.long_fnmut_recursive_cache = a => {
|
|
LONG_FNMUT_RECURSIVE_CACHE = a;
|
|
};
|
|
exports.long_fnmut_recursive_call = () => {
|
|
LONG_FNMUT_RECURSIVE_CACHE();
|
|
};
|
|
|
|
exports.fnmut_call = a => {
|
|
a();
|
|
};
|
|
|
|
exports.fnmut_thread = a => a(2);
|
|
|
|
let FNMUT_BAD_F = null;
|
|
|
|
exports.fnmut_bad_call = a => {
|
|
FNMUT_BAD_F = a;
|
|
a();
|
|
};
|
|
|
|
exports.fnmut_bad_again = x => {
|
|
if (x) {
|
|
FNMUT_BAD_F();
|
|
}
|
|
};
|
|
|
|
exports.string_arguments_call = a => {
|
|
a('foo');
|
|
};
|
|
|
|
exports.string_ret_call = a => {
|
|
assert.strictEqual(a('foo'), 'foobar');
|
|
};
|
|
|
|
let DROP_DURING_CALL = null;
|
|
exports.drop_during_call_save = f => {
|
|
DROP_DURING_CALL = f;
|
|
};
|
|
exports.drop_during_call_call = () => DROP_DURING_CALL();
|
|
|
|
exports.js_test_closure_returner = () => {
|
|
wasm.closure_returner().someKey();
|
|
};
|
|
|
|
exports.calling_it_throws = a => {
|
|
try {
|
|
a();
|
|
return false;
|
|
} catch(_) {
|
|
return true;
|
|
}
|
|
};
|
|
|
|
exports.call_val = f => f();
|