From 5dd46a345a7f02a55ef26302ae4d52473c433da0 Mon Sep 17 00:00:00 2001 From: Gary Tou Date: Tue, 25 Apr 2023 23:22:48 -0400 Subject: Test: `defined?(super)` in `BasicObject` returns `nil` Ensure it returns `nil` instead of segmentation faulting --- test/ruby/test_defined.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'test') 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 -- cgit v1.2.1