aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/controller/verification_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/test/controller/verification_test.rb')
-rw-r--r--actionpack/test/controller/verification_test.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/actionpack/test/controller/verification_test.rb b/actionpack/test/controller/verification_test.rb
index d5741526ef..fc49d5da67 100644
--- a/actionpack/test/controller/verification_test.rb
+++ b/actionpack/test/controller/verification_test.rb
@@ -20,6 +20,12 @@ class VerificationTest < Test::Unit::TestCase
verify :only => :guarded_by_method, :method => :post,
:redirect_to => { :action => "unguarded" }
+
+ verify :only => :guarded_by_xhr, :xhr => true,
+ :redirect_to => { :action => "unguarded" }
+
+ verify :only => :guarded_by_not_xhr, :xhr => false,
+ :redirect_to => { :action => "unguarded" }
before_filter :unconditional_redirect, :only => :two_redirects
verify :only => :two_redirects, :method => :post,
@@ -54,6 +60,14 @@ class VerificationTest < Test::Unit::TestCase
def guarded_by_method
render :text => "#{@request.method}"
end
+
+ def guarded_by_xhr
+ render :text => "#{@request.xhr?}"
+ end
+
+ def guarded_by_not_xhr
+ render :text => "#{@request.xhr?}"
+ end
def unguarded
render :text => "#{@params["one"]}"
@@ -173,6 +187,26 @@ class VerificationTest < Test::Unit::TestCase
assert_redirected_to :action => "unguarded"
end
+ def test_guarded_by_xhr_with_prereqs
+ xhr :post, :guarded_by_xhr
+ assert_equal "true", @response.body
+ end
+
+ def test_guarded_by_xhr_without_prereqs
+ get :guarded_by_xhr
+ assert_redirected_to :action => "unguarded"
+ end
+
+ def test_guarded_by_not_xhr_with_prereqs
+ get :guarded_by_not_xhr
+ assert_equal "false", @response.body
+ end
+
+ def test_guarded_by_not_xhr_without_prereqs
+ xhr :post, :guarded_by_not_xhr
+ assert_redirected_to :action => "unguarded"
+ end
+
def test_guarded_post_and_calls_render
post :must_be_post
assert_equal "Was a post!", @response.body