aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/dependencies_test.rb
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2005-11-24 05:43:27 +0000
committerJeremy Kemper <jeremy@bitsweat.net>2005-11-24 05:43:27 +0000
commit52325f6bf868c5efa80fbcf06d139a31816251fb (patch)
treed38c865fe4271d8a32c71ad44034a90a97367bd7 /activesupport/test/dependencies_test.rb
parent19f59b6eb1eb83fb6b903ccdd4690f925c4ee247 (diff)
downloadrails-52325f6bf868c5efa80fbcf06d139a31816251fb.tar.gz
rails-52325f6bf868c5efa80fbcf06d139a31816251fb.tar.bz2
rails-52325f6bf868c5efa80fbcf06d139a31816251fb.zip
Sever infinite loop for mutual dependencies. Closes #2997.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3181 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activesupport/test/dependencies_test.rb')
-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 a59b0284a9..b801ce6cf0 100644
--- a/activesupport/test/dependencies_test.rb
+++ b/activesupport/test/dependencies_test.rb
@@ -79,4 +79,22 @@ class DependenciesTest < Test::Unit::TestCase
ensure
Dependencies.mechanism = old_mechanism
end
+
+ def test_mutual_dependencies_dont_infinite_loop
+ $LOAD_PATH.unshift "#{File.dirname(__FILE__)}/dependencies"
+ old_mechanism, Dependencies.mechanism = Dependencies.mechanism, :load
+
+ $mutual_dependencies_count = 0
+ assert_nothing_raised { require_dependency 'mutual_one' }
+ assert_equal 2, $mutual_dependencies_count
+
+ Dependencies.clear
+
+ $mutual_dependencies_count = 0
+ assert_nothing_raised { require_dependency 'mutual_two' }
+ assert_equal 2, $mutual_dependencies_count
+ ensure
+ $LOAD_PATH.shift
+ Dependencies.mechanism = old_mechanism
+ end
end