aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
authorXavier Noria <fxn@hashref.com>2019-07-25 23:02:03 +0200
committerXavier Noria <fxn@hashref.com>2019-07-25 23:14:29 +0200
commit59c6d29ffac990ab16e162d79aba12e13232a896 (patch)
treea686b2a0ebc903c002d2fe0964fd8a2850dee61b /railties
parent7f21e04e618513aff1674ed767294a94a903dd51 (diff)
downloadrails-59c6d29ffac990ab16e162d79aba12e13232a896.tar.gz
rails-59c6d29ffac990ab16e162d79aba12e13232a896.tar.bz2
rails-59c6d29ffac990ab16e162d79aba12e13232a896.zip
let autoloaded? support modules with overridden names [closes #36757]
Diffstat (limited to 'railties')
-rw-r--r--railties/test/application/zeitwerk_integration_test.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/railties/test/application/zeitwerk_integration_test.rb b/railties/test/application/zeitwerk_integration_test.rb
index 9146222f73..ff8c06b479 100644
--- a/railties/test/application/zeitwerk_integration_test.rb
+++ b/railties/test/application/zeitwerk_integration_test.rb
@@ -98,6 +98,15 @@ class ZeitwerkIntegrationTest < ActiveSupport::TestCase
assert_nil deps.safe_constantize("Admin")
end
+ test "autoloaded? and overridden class names" do
+ invalid_constant_name = Module.new do
+ def self.name
+ "primary::SchemaMigration"
+ end
+ end
+ assert_not deps.autoloaded?(invalid_constant_name)
+ end
+
test "unloadable constants (main)" do
app_file "app/models/user.rb", "class User; end"
app_file "app/models/post.rb", "class Post; end"