Made ActionController::Verification work with new_base

This commit is contained in:
Pratik Naik 2009-05-21 02:55:25 +02:00
parent 7f7fdc407a
commit e21d1614bb
8 changed files with 26 additions and 16 deletions

@ -63,7 +63,7 @@ Rake::TestTask.new(:test_new_base_on_old_tests) do |t|
t.test_files = %w(
addresses_render base benchmark caching capture content_type dispatcher
flash mime_responds record_identifier redirect render rescue url_rewriter
webservice
webservice verification
).map { |name| "test/controller/#{name}_test.rb" }
end

@ -1,7 +1,13 @@
module ActionController #:nodoc:
module Verification #:nodoc:
def self.included(base) #:nodoc:
base.extend(ClassMethods)
extend ActiveSupport::DependencyModule
# TODO : Remove the defined? check when new base is the main base
if defined?(ActionController::Http)
depends_on AbstractController::Callbacks
depends_on Session
depends_on Flash
depends_on Renderer
end
# This module provides a class-level method for specifying that certain
@ -102,7 +108,7 @@ def prereqs_invalid?(options) # :nodoc:
end
def verify_presence_of_keys_in_hash_flash_or_params(options) # :nodoc:
[*options[:params] ].find { |v| params[v].nil? } ||
[*options[:params] ].find { |v| v && params[v.to_sym].nil? } ||
[*options[:session]].find { |v| session[v].nil? } ||
[*options[:flash] ].find { |v| flash[v].nil? }
end

@ -25,8 +25,9 @@ module ActionController
autoload :UrlRewriter, 'action_controller/routing/generation/url_rewriter'
autoload :UrlWriter, 'action_controller/routing/generation/url_rewriter'
autoload :Flash, 'action_controller/base/chained/flash'
autoload :Verification, 'action_controller/base/verification'
autoload :Flash, 'action_controller/base/chained/flash'
require 'action_controller/routing'
end

@ -16,6 +16,7 @@ class Base < Http
include ActionController::Session
include ActionController::Flash
include ActionController::Verification
# Legacy modules
include SessionManagement

@ -103,5 +103,9 @@ def method_for_action(action_name)
def _layout_prefix(name)
super unless name =~ /\blayouts/
end
def performed?
response_body
end
end
end

@ -2,7 +2,7 @@ module ActionController
module Testing
# OMG MEGA HAX
def process_with_test(request, response)
def process_with_new_base_test(request, response)
@_request = request
@_response = response
@_response.request = request

@ -53,7 +53,7 @@ def process(action, parameters = nil, session = nil, flash = nil, http_method =
@controller.request = @request
@controller.params.merge!(parameters)
# Base.class_eval { include ProcessWithTest } unless Base < ProcessWithTest
@controller.process_with_test(@request, @response)
@controller.process_with_new_base_test(@request, @response)
end
def build_request_uri(action, parameters)

@ -103,17 +103,15 @@ def no_default_action
end
protected
def rescue_action(e) raise end
def unconditional_redirect
redirect_to :action => "unguarded"
end
def unconditional_redirect
redirect_to :action => "unguarded"
end
end
def setup
@controller = TestController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
tests TestController
setup do
ActionController::Routing::Routes.add_named_route :foo, '/foo', :controller => 'test', :action => 'foo'
end