summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
authorKevin Newton <[email protected]>2025-03-18 13:40:49 -0400
committerKevin Newton <[email protected]>2025-03-18 14:44:28 -0400
commitadaaa7878ebee62888bf3547d14c1db4938da88a (patch)
tree8fec49865ad96e383e3c1248a2cf446fed2adc4f /test/ruby
parentb003d4019421e004460a8c947db2695d71ad0b8c (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.rb20
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)