mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
parse.y: "nil" for defined? with empty expression
* parse.y (new_defined): remove all extra parentheses, and return "nil" for defined? with empty expression. [ruby-core:54024] [Bug #8224] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40138 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
7a7bb64464
commit
40370296c7
3 changed files with 30 additions and 2 deletions
|
@ -89,6 +89,13 @@ class TestDefined < Test::Unit::TestCase
|
|||
assert_equal("true", defined?(true))
|
||||
assert_equal("false", defined?(false))
|
||||
assert_equal("expression", defined?(1))
|
||||
|
||||
bug8224 = '[ruby-core:54024] [Bug #8224]'
|
||||
(1..3).each do |level|
|
||||
expr = "("*level+")"*level
|
||||
assert_equal("nil", eval("defined? #{expr}"), "#{bug8224} defined? #{expr}")
|
||||
assert_equal("nil", eval("defined?(#{expr})"), "#{bug8224} defined?(#{expr})")
|
||||
end
|
||||
end
|
||||
|
||||
def test_defined_impl_specific
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue