Vendor things
This commit is contained in:
parent
5deceec006
commit
977e3c17e5
19434 changed files with 10682014 additions and 0 deletions
164
third-party/vendor/wasm-bindgen/tests/wasm/closures.js
vendored
Normal file
164
third-party/vendor/wasm-bindgen/tests/wasm/closures.js
vendored
Normal file
|
|
@ -0,0 +1,164 @@
|
|||
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);
|
||||
};
|
||||
exports.many_arity_call9 = a => {
|
||||
a(1, 2, 3, 4, 5, 6, 7, 8);
|
||||
};
|
||||
|
||||
exports.option_call1 = a => {
|
||||
if (a) {
|
||||
a();
|
||||
}
|
||||
};
|
||||
exports.option_call2 = a => {
|
||||
if (a) {
|
||||
return a(2);
|
||||
}
|
||||
};
|
||||
exports.option_call3 = a => a == undefined;
|
||||
|
||||
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_LIVED_OPTION_DROPPING_CACHE = null;
|
||||
|
||||
exports.long_lived_option_dropping_cache = a => {
|
||||
if (a) {
|
||||
LONG_LIVED_OPTION_DROPPING_CACHE = a;
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
exports.long_lived_option_dropping_call = () => {
|
||||
LONG_LIVED_OPTION_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();
|
||||
|
||||
exports.pass_reference_first_arg_twice = (a, b, c) => {
|
||||
b(a);
|
||||
c(a);
|
||||
a.free();
|
||||
};
|
||||
|
||||
exports.call_destroyed = f => {
|
||||
assert.throws(f, /closure invoked.*after being dropped/);
|
||||
};
|
||||
|
||||
let FORGOTTEN_CLOSURE = null;
|
||||
|
||||
exports.js_store_forgotten_closure = f => {
|
||||
FORGOTTEN_CLOSURE = f;
|
||||
};
|
||||
|
||||
exports.js_call_forgotten_closure = () => {
|
||||
FORGOTTEN_CLOSURE();
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue