mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Fixed that dispatcher preparation callbacks only run once in production mode. Mock Routes.reload so that dispatcher preparation callback tests run. [Rick]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7033 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
parent
1ddaec1e68
commit
9d4225f129
3 changed files with 10 additions and 2 deletions
|
@ -1,5 +1,7 @@
|
|||
*SVN*
|
||||
|
||||
* Fixed that dispatcher preparation callbacks only run once in production mode. Mock Routes.reload so that dispatcher preparation callback tests run. [Rick]
|
||||
|
||||
* Fix syntax error in dispatcher than wrecked failsafe responses. #8625 [mtitorenko]
|
||||
|
||||
* Scaffolded validation errors set the appropriate HTTP status for XML responses. #6946, #8622 [Manfred Stienstra, mmmultiworks]
|
||||
|
|
|
@ -88,7 +88,6 @@ class Dispatcher
|
|||
private
|
||||
attr_accessor_with_default :preparation_callbacks, []
|
||||
attr_accessor_with_default :preparation_callbacks_run, false
|
||||
alias_method :preparation_callbacks_run?, :preparation_callbacks_run
|
||||
|
||||
# CGI.new plus exception handling. CGI#read_multipart raises EOFError
|
||||
# if body.empty? or body.size != Content-Length and raises ArgumentError
|
||||
|
@ -113,7 +112,7 @@ class Dispatcher
|
|||
end
|
||||
|
||||
def run_preparation_callbacks
|
||||
return if preparation_callbacks_run?
|
||||
return if preparation_callbacks_run
|
||||
preparation_callbacks.each { |_, callback| callback.call }
|
||||
self.preparation_callbacks_run = true
|
||||
end
|
||||
|
|
|
@ -27,11 +27,18 @@ class DispatcherTest < Test::Unit::TestCase
|
|||
Dispatcher.send(:preparation_callbacks_run=, false)
|
||||
|
||||
Object.const_set :ApplicationController, nil
|
||||
class << ActionController::Routing::Routes
|
||||
alias_method :old_reload, :reload
|
||||
def reload() end
|
||||
end
|
||||
end
|
||||
|
||||
def teardown
|
||||
Object.send :remove_const, :ApplicationController
|
||||
ENV['REQUEST_METHOD'] = nil
|
||||
class << ActionController::Routing::Routes
|
||||
alias_method :reload, :old_reload
|
||||
end
|
||||
end
|
||||
|
||||
def test_ac_subclasses_cleared_on_reset
|
||||
|
|
Loading…
Reference in a new issue