summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorGary Tou <gary@garytou.com>2023-04-25 23:22:48 -0400
committerAaron Patterson <aaron.patterson@gmail.com>2023-04-26 10:21:20 -0400
commit5dd46a345a7f02a55ef26302ae4d52473c433da0 (patch)
treed73074dfe01e4fd3e8970995ed16de8c4dd3fe4c /test
parent1883dc5bde27caec44154b7ce1f06b07f95eab3d (diff)
downloadruby-5dd46a345a7f02a55ef26302ae4d52473c433da0.tar.gz
Test: `defined?(super)` in `BasicObject` returns `nil`
Ensure it returns `nil` instead of segmentation faulting
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_defined.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/ruby/test_defined.rb b/test/ruby/test_defined.rb
index 3324a09afe..1af3bd0cb3 100644
--- a/test/ruby/test_defined.rb
+++ b/test/ruby/test_defined.rb
@@ -303,6 +303,20 @@ class TestDefined < Test::Unit::TestCase
assert_equal("super", o.x, bug8367)
end
+ def test_super_in_basic_object
+ BasicObject.class_eval do
+ def a
+ defined?(super)
+ end
+ end
+
+ assert_nil(a)
+
+ BasicObject.class_eval do
+ undef_method :a
+ end
+ end
+
def test_super_toplevel
assert_separately([], "assert_nil(defined?(super))")
end