[PRISM] Add eval tests

This commit is contained in:
Matt Valentine-House 2024-02-05 16:12:46 +00:00 committed by Kevin Newton
parent c2af974e67
commit edb755c84b

View File

@ -2643,6 +2643,43 @@ end
# Miscellaneous #
############################################################################
def test_eval
assert_prism_eval("eval('1 + 1')", raw: true)
assert_prism_eval("a = 1; eval('a + 1')", raw: true)
assert_prism_eval(<<~CODE, raw: true)
def prism_eval_splat(**bar)
eval("bar")
end
prism_eval_splat(bar: 10)
CODE
assert_prism_eval(<<~CODE, raw: true)
def prism_eval_keywords(baz:)
eval("baz")
end
prism_eval_keywords(baz: 10)
CODE
assert_prism_eval(<<~CODE, raw: true)
[1].each do |a|
[2].each do |b|
c = 3
eval("a + b + c")
end
end
CODE
assert_prism_eval(<<~CODE, raw: true)
def prism_eval_binding(b)
eval("bar", b)
end
bar = :ok
prism_eval_binding(binding)
CODE
end
def test_ScopeNode
assert_separately(%w[], <<~'RUBY')
def compare_eval(source)