aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test
diff options
context:
space:
mode:
authorJonathan del Strother <jon.delStrother@audioboo.fm>2011-08-24 17:30:50 +0100
committerJonathan del Strother <jon.delStrother@audioboo.fm>2011-08-24 18:14:25 +0100
commite0714ee005a366aa92449fc4f92cf97aa8e2f349 (patch)
treeaa4df7b0395e95602561faff609a1a80d127704d /activesupport/test
parent976b2be1085aa22f84c6fcbe40ba25ba4f89051c (diff)
downloadrails-e0714ee005a366aa92449fc4f92cf97aa8e2f349.tar.gz
rails-e0714ee005a366aa92449fc4f92cf97aa8e2f349.tar.bz2
rails-e0714ee005a366aa92449fc4f92cf97aa8e2f349.zip
Fix autoload_once_paths when using Pathnames & ruby 1.9
Under ruby 1.9.2 - "/var/log".starts_with?(Pathname.new("/var")) # => false so setting config.autoload_once_paths with Pathnames would not work
Diffstat (limited to 'activesupport/test')
-rw-r--r--activesupport/test/dependencies_test.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/activesupport/test/dependencies_test.rb b/activesupport/test/dependencies_test.rb
index b0e96731cc..fe8f51e11a 100644
--- a/activesupport/test/dependencies_test.rb
+++ b/activesupport/test/dependencies_test.rb
@@ -520,6 +520,24 @@ class DependenciesTest < Test::Unit::TestCase
ActiveSupport::Dependencies.autoload_once_paths = []
end
+ def test_autoload_once_pathnames_do_not_add_to_autoloaded_constants
+ with_autoloading_fixtures do
+ pathnames = ActiveSupport::Dependencies.autoload_paths.collect{|p| Pathname.new(p)}
+ ActiveSupport::Dependencies.autoload_paths = pathnames
+ ActiveSupport::Dependencies.autoload_once_paths = pathnames
+
+ assert ! ActiveSupport::Dependencies.autoloaded?("ModuleFolder")
+ assert ! ActiveSupport::Dependencies.autoloaded?("ModuleFolder::NestedClass")
+ assert ! ActiveSupport::Dependencies.autoloaded?(ModuleFolder)
+
+ 1 if ModuleFolder::NestedClass # 1 if to avoid warning
+ assert ! ActiveSupport::Dependencies.autoloaded?(ModuleFolder::NestedClass)
+ end
+ ensure
+ Object.class_eval { remove_const :ModuleFolder }
+ ActiveSupport::Dependencies.autoload_once_paths = []
+ end
+
def test_application_should_special_case_application_controller
with_autoloading_fixtures do
require_dependency 'application'