diff options
| author | tomoya ishida <tomoyapenguin@gmail.com> | 2025-12-13 01:40:49 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-13 01:40:49 +0900 |
| commit | b8ba9cebb9472c125c946e36ea4455e7aae284a6 (patch) | |
| tree | bf0adb385a5cdcc647c15e12768bbea5cdcae631 /test/ruby | |
| parent | f939cf40ba46f3a8136495702793748fa30c12c3 (diff) | |
Fix binding.implicit_parameters_get/defined segfault when wrong name string is passed (#15530)
Diffstat (limited to 'test/ruby')
| -rw-r--r-- | test/ruby/test_proc.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/test/ruby/test_proc.rb b/test/ruby/test_proc.rb index 9ac1875234..92cdfc6757 100644 --- a/test/ruby/test_proc.rb +++ b/test/ruby/test_proc.rb @@ -1913,6 +1913,14 @@ class TestProc < Test::Unit::TestCase end end + def test_implicit_parameter_invalid_name + message_pattern = /is not an implicit parameter/ + assert_raise_with_message(NameError, message_pattern) { binding.implicit_parameter_defined?(:foo) } + assert_raise_with_message(NameError, message_pattern) { binding.implicit_parameter_get(:foo) } + assert_raise_with_message(NameError, message_pattern) { binding.implicit_parameter_defined?("wrong_implicit_parameter_name_#{rand(10000)}") } + assert_raise_with_message(NameError, message_pattern) { binding.implicit_parameter_get("wrong_implicit_parameter_name_#{rand(10000)}") } + end + def test_local_variable_set_wb assert_ruby_status([], <<-'end;', '[Bug #13605]', timeout: 30) b = binding |
