diff options
| author | eileencodes <eileencodes@gmail.com> | 2024-02-06 17:13:50 -0500 |
|---|---|---|
| committer | Kevin Newton <kddnewton@gmail.com> | 2024-02-11 09:41:20 -0500 |
| commit | a3ceb6916828b3d2e14b4d4bb4f8c78a0bc2ed95 (patch) | |
| tree | 0ba47fa4aa2d10f1d111bff2a8143a6b46abd359 /test/ruby | |
| parent | 90fe1b4402498f61208e9b72ce3206d4bcbffb7d (diff) | |
[PRISM] Fix error handling in `pm_parse_prism`
Following changes made in ruby/prism#2365 this implements error handling
for when `pm_string_mapped_init` returns `false`.
Related: ruby/prism#2207
Diffstat (limited to 'test/ruby')
| -rw-r--r-- | test/ruby/test_compile_prism.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/ruby/test_compile_prism.rb b/test/ruby/test_compile_prism.rb index e09192a4b2..c48b7ac085 100644 --- a/test/ruby/test_compile_prism.rb +++ b/test/ruby/test_compile_prism.rb @@ -2678,6 +2678,22 @@ end assert_prism_eval(":perĂ²") end + def test_parse_file + assert_nothing_raised do + RubyVM::InstructionSequence.compile_file_prism(__FILE__) + end + + error = assert_raise Errno::ENOENT do + RubyVM::InstructionSequence.compile_file_prism("idontexist.rb") + end + + assert_equal "No such file or directory - idontexist.rb", error.message + + assert_raise TypeError do + RubyVM::InstructionSequence.compile_file_prism(nil) + end + end + private def compare_eval(source, raw:) |
