From 593f04e6a939caeed276b855fc7fa35655ba1204 Mon Sep 17 00:00:00 2001 From: Nicholas Seckar Date: Wed, 16 Aug 2006 17:50:52 +0000 Subject: 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 --- activesupport/test/dependencies_test.rb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'activesupport/test') 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") -- cgit v1.2.3