aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/dependencies_test.rb
diff options
context:
space:
mode:
authorNicholas Seckar <nseckar@gmail.com>2006-08-16 17:50:52 +0000
committerNicholas Seckar <nseckar@gmail.com>2006-08-16 17:50:52 +0000
commit593f04e6a939caeed276b855fc7fa35655ba1204 (patch)
tree32560660627730aa894d8164aabe3beac54c5b14 /activesupport/test/dependencies_test.rb
parentae74e8e9feba99b84f5e431239dc6a2039ad5793 (diff)
downloadrails-593f04e6a939caeed276b855fc7fa35655ba1204.tar.gz
rails-593f04e6a939caeed276b855fc7fa35655ba1204.tar.bz2
rails-593f04e6a939caeed276b855fc7fa35655ba1204.zip
Stop using defined? in Dependencies.qualified_const_defined? since defined? may invoke const_missing.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4774 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activesupport/test/dependencies_test.rb')
-rw-r--r--activesupport/test/dependencies_test.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/activesupport/test/dependencies_test.rb b/activesupport/test/dependencies_test.rb
index 92f3e63e1a..3d0ada47f1 100644
--- a/activesupport/test/dependencies_test.rb
+++ b/activesupport/test/dependencies_test.rb
@@ -1,5 +1,13 @@
require File.dirname(__FILE__) + '/abstract_unit'
+module ModuleWithMissing
+ mattr_accessor :missing_count
+ def self.const_missing(name)
+ self.missing_count += 1
+ name
+ end
+end
+
class DependenciesTest < Test::Unit::TestCase
def teardown
@@ -249,6 +257,14 @@ class DependenciesTest < Test::Unit::TestCase
assert Dependencies.qualified_const_defined?("::Test::Unit::TestCase")
end
+ def test_qualified_const_defined_should_not_call_method_missing
+ ModuleWithMissing.missing_count = 0
+ assert ! Dependencies.qualified_const_defined?("ModuleWithMissing::A")
+ assert_equal 0, ModuleWithMissing.missing_count
+ assert ! Dependencies.qualified_const_defined?("ModuleWithMissing::A::B")
+ assert_equal 0, ModuleWithMissing.missing_count
+ end
+
def test_autoloaded?
with_loading 'autoloading_fixtures' do
assert ! Dependencies.autoloaded?("ModuleFolder")