Use splat instead of arguments in tests

Previously `arguments` was used to pass around an array of arguments,
but this wasn't actually a `js_sys::Array` but rather a somewhat
esoteric internal object. When switching over `Array` methods to be
`structural` this caused issues because the inherent methods on an
`arguments` object were different than that of `js_sys::Array`.
This commit is contained in:
Alex Crichton 2018-11-08 11:46:52 -08:00
parent 5b76a6291e
commit b013ec6288
2 changed files with 12 additions and 12 deletions

View File

@ -19,17 +19,17 @@
logs.innerHTML += `${msg}\n`;
}
};
console.log = function() {
console.log = function(...args) {
if (window.console_log_redirect)
window.console_log_redirect(orig_console_log, arguments);
window.console_log_redirect(orig_console_log, args);
else
orig_console_log.apply(this, arguments);
orig_console_log.apply(this, args);
};
console.error = function() {
console.error = function(...args) {
if (window.console_error_redirect)
window.console_error_redirect(orig_console_error, arguments);
window.console_error_redirect(orig_console_error, args);
else
orig_console_error.apply(this, arguments);
orig_console_error.apply(this, args);
};
window.__wbg_test_invoke = f => f();
</script>

View File

@ -23,19 +23,19 @@ pub fn execute(
// ensure they're bound correctly in wasm. This'll allow us to intercept
// all these calls and capture the output of tests
const prev_log = console.log;
console.log = function() {{
console.log = function(...args) {{
if (console_log_redirect === null) {{
prev_log.apply(null, arguments);
prev_log.apply(null, args);
}} else {{
console_log_redirect(prev_log, arguments);
console_log_redirect(prev_log, args);
}}
}};
const prev_error = console.error;
console.error = function() {{
console.error = function(...args) {{
if (console_error_redirect === null) {{
prev_error.apply(null, arguments);
prev_error.apply(null, args);
}} else {{
console_error_redirect(prev_error, arguments);
console_error_redirect(prev_error, args);
}}
}};