use boa_macros::js_str;
use indoc::indoc;
use crate::{JsNativeErrorKind, TestAction, run_test_actions};
#[test]
fn fun_block_eval_2317() {
run_test_actions([
TestAction::assert_eq(
indoc! {r#"
(function(y){
{
eval("var x = 'inner';");
}
return y + x;
})("arg");
"#},
js_str!("arginner"),
),
TestAction::assert_eq(
indoc! {r#"
(function(y = "default"){
{
eval("var x = 'inner';");
}
return y + x;
})();
"#},
js_str!("defaultinner"),
),
]);
}
#[test]
fn with_env_not_panic() {
run_test_actions([TestAction::assert_native_error(
indoc! {r#"
with({ p1:1, }) {k[oa>>2]=d;}
{
let a12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 = 1,
b = "";
}
"#},
JsNativeErrorKind::Reference,
"k is not defined",
)]);
}