Fix logic error in determining what was loaded by a given file. Closes #6039.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5035 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
parent
951b4d2799
commit
7441b19d0c
@ -1,5 +1,7 @@
|
|||||||
*SVN*
|
*SVN*
|
||||||
|
|
||||||
|
* Fix logic error in determining what was loaded by a given file. Closes #6039. [Nicholas Seckar]
|
||||||
|
|
||||||
* Equate Kernel.const_missing with Object.const_missing. Fixes #5988. [Nicholas Seckar]
|
* Equate Kernel.const_missing with Object.const_missing. Fixes #5988. [Nicholas Seckar]
|
||||||
|
|
||||||
* Add ApplicationController special case to Dependencies. [Nicholas Seckar]
|
* Add ApplicationController special case to Dependencies. [Nicholas Seckar]
|
||||||
|
@ -188,7 +188,7 @@ def load_file(path, const_paths = loadable_constants_for_path(path))
|
|||||||
|
|
||||||
result = load path
|
result = load path
|
||||||
|
|
||||||
newly_defined_paths = const_paths.select(&method(:qualified_const_defined?))
|
newly_defined_paths = undefined_before.select(&method(:qualified_const_defined?))
|
||||||
autoloaded_constants.concat newly_defined_paths
|
autoloaded_constants.concat newly_defined_paths
|
||||||
autoloaded_constants.uniq!
|
autoloaded_constants.uniq!
|
||||||
log "loading #{path} defined #{newly_defined_paths * ', '}" unless newly_defined_paths.empty?
|
log "loading #{path} defined #{newly_defined_paths * ', '}" unless newly_defined_paths.empty?
|
||||||
|
@ -428,4 +428,22 @@ def test_const_missing_on_kernel_should_fallback_to_object
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_preexisting_constants_are_not_marked_as_autoloaded
|
||||||
|
with_loading 'autoloading_fixtures' do
|
||||||
|
require_dependency 'e'
|
||||||
|
assert Dependencies.autoloaded?(:E)
|
||||||
|
Dependencies.clear
|
||||||
|
end
|
||||||
|
|
||||||
|
Object.const_set :E, Class.new
|
||||||
|
with_loading 'autoloading_fixtures' do
|
||||||
|
require_dependency 'e'
|
||||||
|
assert ! Dependencies.autoloaded?(:E), "E shouldn't be marked autoloaded!"
|
||||||
|
Dependencies.clear
|
||||||
|
end
|
||||||
|
|
||||||
|
ensure
|
||||||
|
Object.send :remove_const, :E if Object.const_defined?(:E)
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user