summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
authorYusuke Endoh <mame@ruby-lang.org>2025-12-12 12:00:35 +0900
committerYusuke Endoh <mame@ruby-lang.org>2025-12-12 13:16:52 +0900
commit04494d9e4064a57accc8309da9b35754a3d24973 (patch)
treeb0cce40a90d422595d70c0141b14ec9212347c53 /test/ruby
parentbe43ad37b7fe7dbeaec653c4ec3dfcf5999e2824 (diff)
`Binding#local_variable_defined?` must not handle numbered parameters
[Bug #21776]
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_proc.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/ruby/test_proc.rb b/test/ruby/test_proc.rb
index 2cd97ca324..d6bd8e724e 100644
--- a/test/ruby/test_proc.rb
+++ b/test/ruby/test_proc.rb
@@ -1659,29 +1659,35 @@ class TestProc < Test::Unit::TestCase
assert_equal([], binding.local_variables)
assert_raise(NameError) { binding.local_variable_get(:_9) }
assert_raise(NameError) { binding.local_variable_set(:_9, 1) }
+ assert_equal(false, binding.local_variable_defined?(:_9))
"bar".tap do
assert_equal([], binding.local_variables)
assert_raise(NameError) { binding.local_variable_get(:_9) }
assert_raise(NameError) { binding.local_variable_set(:_9, 1) }
+ assert_equal(false, binding.local_variable_defined?(:_9))
end
assert_equal([], binding.local_variables)
assert_raise(NameError) { binding.local_variable_get(:_9) }
assert_raise(NameError) { binding.local_variable_set(:_9, 1) }
+ assert_equal(false, binding.local_variable_defined?(:_9))
end
"foo".tap do
assert_equal([], binding.local_variables)
assert_raise(NameError) { binding.local_variable_get(:_9) }
assert_raise(NameError) { binding.local_variable_set(:_9, 1) }
+ assert_equal(false, binding.local_variable_defined?(:_9))
"bar".tap do
_9 and flunk
assert_equal([], binding.local_variables)
assert_raise(NameError) { binding.local_variable_get(:_9) }
assert_raise(NameError) { binding.local_variable_set(:_9, 1) }
+ assert_equal(false, binding.local_variable_defined?(:_9))
end
assert_equal([], binding.local_variables)
assert_raise(NameError) { binding.local_variable_get(:_9) }
assert_raise(NameError) { binding.local_variable_set(:_9, 1) }
+ assert_equal(false, binding.local_variable_defined?(:_9))
end
end
@@ -1690,31 +1696,39 @@ class TestProc < Test::Unit::TestCase
it
assert_equal([], binding.local_variables)
assert_raise(NameError) { binding.local_variable_get(:it) }
+ assert_equal(false, binding.local_variable_defined?(:it))
"bar".tap do
assert_equal([], binding.local_variables)
assert_raise(NameError) { binding.local_variable_get(:it) }
+ assert_equal(false, binding.local_variable_defined?(:it))
end
assert_equal([], binding.local_variables)
assert_raise(NameError) { binding.local_variable_get(:it) }
+ assert_equal(false, binding.local_variable_defined?(:it))
"bar".tap do
it
assert_equal([], binding.local_variables)
assert_raise(NameError) { binding.local_variable_get(:it) }
+ assert_equal(false, binding.local_variable_defined?(:it))
end
assert_equal([], binding.local_variables)
assert_raise(NameError) { binding.local_variable_get(:it) }
+ assert_equal(false, binding.local_variable_defined?(:it))
end
"foo".tap do
assert_equal([], binding.local_variables)
assert_raise(NameError) { binding.local_variable_get(:it) }
+ assert_equal(false, binding.local_variable_defined?(:it))
"bar".tap do
it
assert_equal([], binding.local_variables)
assert_raise(NameError) { binding.local_variable_get(:it) }
+ assert_equal(false, binding.local_variable_defined?(:it))
end
assert_equal([], binding.local_variables)
assert_raise(NameError) { binding.local_variable_get(:it) }
+ assert_equal(false, binding.local_variable_defined?(:it))
end
end