aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test
diff options
context:
space:
mode:
authorJoshua Peek <josh@joshpeek.com>2010-01-17 22:06:28 -0600
committerJoshua Peek <josh@joshpeek.com>2010-01-17 22:06:28 -0600
commitc29bb8857e637e77a8cf10f10c049d20fea3228a (patch)
tree7a7f0d8b29c71b12637e97dce4292f645762fc68 /actionpack/test
parent58fe3295feba782ba0a76b9315b962b1d33e8586 (diff)
downloadrails-c29bb8857e637e77a8cf10f10c049d20fea3228a.tar.gz
rails-c29bb8857e637e77a8cf10f10c049d20fea3228a.tar.bz2
rails-c29bb8857e637e77a8cf10f10c049d20fea3228a.zip
Clear out AS callback method pollution in AC::Base.action_methods
Diffstat (limited to 'actionpack/test')
-rw-r--r--actionpack/test/controller/new_base/base_test.rb28
1 files changed, 27 insertions, 1 deletions
diff --git a/actionpack/test/controller/new_base/base_test.rb b/actionpack/test/controller/new_base/base_test.rb
index 1f9bf7f0fb..964780eaf2 100644
--- a/actionpack/test/controller/new_base/base_test.rb
+++ b/actionpack/test/controller/new_base/base_test.rb
@@ -3,6 +3,8 @@ require 'abstract_unit'
# Tests the controller dispatching happy path
module Dispatching
class SimpleController < ActionController::Base
+ before_filter :authenticate
+
def index
render :text => "success"
end
@@ -12,12 +14,20 @@ module Dispatching
end
def modify_response_body_twice
- ret = (self.response_body = "success")
+ ret = (self.response_body = "success")
self.response_body = "#{ret}!"
end
def modify_response_headers
end
+
+ def show_actions
+ render :text => "actions: #{action_methods.to_a.join(', ')}"
+ end
+
+ protected
+ def authenticate
+ end
end
class EmptyController < ActionController::Base ; end
@@ -64,5 +74,21 @@ module Dispatching
assert_equal 'empty', EmptyController.controller_name
assert_equal 'contained_empty', Submodule::ContainedEmptyController.controller_name
end
+
+ test "action methods" do
+ assert_equal Set.new(%w(
+ modify_response_headers
+ modify_response_body_twice
+ index
+ modify_response_body
+ show_actions
+ )), SimpleController.action_methods
+
+ assert_equal Set.new, EmptyController.action_methods
+ assert_equal Set.new, Submodule::ContainedEmptyController.action_methods
+
+ get "/dispatching/simple/show_actions"
+ assert_body "actions: modify_response_headers, modify_response_body_twice, index, modify_response_body, show_actions"
+ end
end
end