diff options
author | Kevin Newton <[email protected]> | 2025-03-18 13:40:49 -0400 |
---|---|---|
committer | Kevin Newton <[email protected]> | 2025-03-18 14:44:28 -0400 |
commit | adaaa7878ebee62888bf3547d14c1db4938da88a (patch) | |
tree | 8fec49865ad96e383e3c1248a2cf446fed2adc4f /test/ruby | |
parent | b003d4019421e004460a8c947db2695d71ad0b8c (diff) |
Handle void expressions in defined?
[Bug #21029]
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/12949
Diffstat (limited to 'test/ruby')
-rw-r--r-- | test/ruby/test_defined.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/ruby/test_defined.rb b/test/ruby/test_defined.rb index 3a8065d959..db1fdc8e25 100644 --- a/test/ruby/test_defined.rb +++ b/test/ruby/test_defined.rb @@ -243,6 +243,26 @@ class TestDefined < Test::Unit::TestCase assert_nil(defined?(p () + 1)) end + def test_defined_paren_void_stmts + assert_equal("expression", defined? (;x)) + assert_equal("expression", defined? (x;)) + assert_nil(defined? ( + + x + + )) + + x = 1 + + assert_equal("expression", defined? (;x)) + assert_equal("expression", defined? (x;)) + assert_equal("local-variable", defined? ( + + x + + )) + end + def test_defined_impl_specific feature7035 = '[ruby-core:47558]' # not spec assert_predicate(defined?(Foo), :frozen?, feature7035) |