summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-02-14 22:16:06 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-02-14 22:16:06 +0000
commit00af7b8f9ad70d1d893a0e98782450e44a72951b (patch)
tree1229d406433449fe2c1130e28cc709f7f5aeabf2 /test
parent35c546104b00e1e773bcdfd59bb0cd580c85b190 (diff)
merge revision(s) 34555: [Backport #5786]
* compile.c (defined_expr): guard the whole expression. [ruby-dev:45021][Bug#5786] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@34607 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_defined.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/ruby/test_defined.rb b/test/ruby/test_defined.rb
index bae85c9265..2552626b9e 100644
--- a/test/ruby/test_defined.rb
+++ b/test/ruby/test_defined.rb
@@ -113,15 +113,27 @@ class TestDefined < Test::Unit::TestCase
def a?
defined?(A)
end
+ def b?
+ defined?(A::B)
+ end
end
def test_autoloaded_noload
loaded = $".dup
$".clear
+ loadpath = $:.dup
+ $:.clear
x = TestAutoloadedNoload.new
assert_equal("constant", x.a?)
+ assert_nil(x.b?)
assert_equal([], $")
ensure
$".replace(loaded)
+ $:.replace(loadpath)
+ end
+
+ def test_exception
+ bug5786 = '[ruby-dev:45021]'
+ assert_nil(defined?(raise("[Bug#5786]")::A), bug5786)
end
end