Ruby constant look-up no longer falls back to top-level since 2.5

This behavior used to warn until 2.4, and raises since 2.5.
The test here was intentinally named not to start with "test_" and so it used not to be executed because this never passes,
but now is should pass in trunk.

https://bugs.ruby-lang.org/issues/11547
44a2576f79

closes #19897
This commit is contained in:
Akira Matsuda 2017-01-30 16:39:13 +09:00
parent 6a1c0218df
commit 6b7bfece37

@ -397,14 +397,17 @@ def test_load_raises_load_error_when_file_not_found
end
end
def failing_test_access_thru_and_upwards_fails
with_autoloading_fixtures do
assert_not defined?(ModuleFolder)
assert_raise(NameError) { ModuleFolder::Object }
assert_raise(NameError) { ModuleFolder::NestedClass::Object }
# This raises only on 2.5.. (warns on ..2.4)
if RUBY_VERSION > "2.5"
def test_access_thru_and_upwards_fails
with_autoloading_fixtures do
assert_not defined?(ModuleFolder)
assert_raise(NameError) { ModuleFolder::Object }
assert_raise(NameError) { ModuleFolder::NestedClass::Object }
end
ensure
remove_constants(:ModuleFolder)
end
ensure
remove_constants(:ModuleFolder)
end
def test_non_existing_const_raises_name_error_with_fully_qualified_name