diff options
author | Gary Tou <gary@garytou.com> | 2023-04-25 23:22:48 -0400 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2023-04-26 10:21:20 -0400 |
commit | 5dd46a345a7f02a55ef26302ae4d52473c433da0 (patch) | |
tree | d73074dfe01e4fd3e8970995ed16de8c4dd3fe4c /test | |
parent | 1883dc5bde27caec44154b7ce1f06b07f95eab3d (diff) |
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.rb | 14 |
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 |