From fbcd0652944568c43a6ae427960d909d62ce6a8d Mon Sep 17 00:00:00 2001 From: Jeremy Evans Date: Tue, 13 Aug 2019 22:44:36 -0700 Subject: Remove support for nil::Constant This was an intentional bug added in 1.9. The approach taken here is to add a second operand to the getconstant instruction for whether nil should be allowed and treated as current scope. Fixes [Bug #11718] --- test/ruby/test_const.rb | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'test/ruby') diff --git a/test/ruby/test_const.rb b/test/ruby/test_const.rb index 8784e0e988..6284434db0 100644 --- a/test/ruby/test_const.rb +++ b/test/ruby/test_const.rb @@ -48,6 +48,12 @@ class TestConst < Test::Unit::TestCase assert_equal 8, TEST4 end + def test_const_access_from_nil + assert_raise(TypeError) { eval("nil::Object") } + assert_raise(TypeError) { eval("c = nil; c::Object") } + assert_raise(TypeError) { eval("sc = Class.new; sc::C = nil; sc::C::Object") } + end + def test_redefinition c = Class.new name = "X\u{5b9a 6570}" -- cgit v1.2.3