aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2013-09-25 11:25:36 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2013-09-25 11:25:36 -0700
commite2fd64fe469037644711a65a00270bea15ee2955 (patch)
treea7374d295e2f8e137593171ae99d2d6102d868bc /actionpack/test
parent70e48a6ac34615ba5ed3b807917c3b099256d67c (diff)
parentf3982858359008ec8fe43b8fa2c75aad8788cd89 (diff)
downloadrails-e2fd64fe469037644711a65a00270bea15ee2955.tar.gz
rails-e2fd64fe469037644711a65a00270bea15ee2955.tar.bz2
rails-e2fd64fe469037644711a65a00270bea15ee2955.zip
Merge branch 'master' into preload
* master: (62 commits) Getting Started Guide: Hello Rails! -> Hello, Rails! and wrap code tag Add CHANGELOG entry for #12344 Add regression test to #12343 Fix typo in number_to_human docs: you -> your [Documentation] Add a missing validation to I18n docs Use the given name in html_options for the hidden field in collection_check_boxes assign_attributes should return if argument is blank. No need the else clause Use join to concat the both side of the AST Add a CHANGELOG entry about Web Console inclusion added column type to example in section 2.3 Include web-console in new projects Gemfile ActiveRecord::ConnectionAdapters::Column.string_to_time method respects string with timezone. Closes #12278. add test_scoped_root_as_name Getting Started Guide: update RubyGems Guides link [ci skip] Deprecate unused quoted_locking_column method. Update references to wycats/thor to erikhuda/thor. bcrypt-ruby v3.1.2 supports Ruby 2.0 on Windows Fix the model name in the association basics guides We shouldn't override PostgreSQLAdapter's superclass inheritance while monkeypatching ...
Diffstat (limited to 'actionpack/test')
-rw-r--r--actionpack/test/controller/action_pack_assertions_test.rb18
-rw-r--r--actionpack/test/controller/request_forgery_protection_test.rb10
-rw-r--r--actionpack/test/dispatch/routing_test.rb13
3 files changed, 41 insertions, 0 deletions
diff --git a/actionpack/test/controller/action_pack_assertions_test.rb b/actionpack/test/controller/action_pack_assertions_test.rb
index 22a410db94..ba4cffcd3e 100644
--- a/actionpack/test/controller/action_pack_assertions_test.rb
+++ b/actionpack/test/controller/action_pack_assertions_test.rb
@@ -39,6 +39,8 @@ class ActionPackAssertionsController < ActionController::Base
def redirect_external() redirect_to "http://www.rubyonrails.org"; end
+ def redirect_external_protocol_relative() redirect_to "//www.rubyonrails.org"; end
+
def response404() head '404 AWOL' end
def response500() head '500 Sorry' end
@@ -258,6 +260,19 @@ class ActionPackAssertionsControllerTest < ActionController::TestCase
end
end
+ def test_assert_redirect_failure_message_with_protocol_relative_url
+ begin
+ process :redirect_external_protocol_relative
+ assert_redirected_to "/foo"
+ rescue ActiveSupport::TestCase::Assertion => ex
+ assert_no_match(
+ /#{request.protocol}#{request.host}\/\/www.rubyonrails.org/,
+ ex.message,
+ 'protocol relative url was incorrectly normalized'
+ )
+ end
+ end
+
def test_template_objects_exist
process :assign_this
assert !@controller.instance_variable_defined?(:"@hi")
@@ -309,6 +324,9 @@ class ActionPackAssertionsControllerTest < ActionController::TestCase
process :redirect_external
assert_equal 'http://www.rubyonrails.org', @response.redirect_url
+
+ process :redirect_external_protocol_relative
+ assert_equal '//www.rubyonrails.org', @response.redirect_url
end
def test_no_redirect_url
diff --git a/actionpack/test/controller/request_forgery_protection_test.rb b/actionpack/test/controller/request_forgery_protection_test.rb
index c272e785c2..727db79241 100644
--- a/actionpack/test/controller/request_forgery_protection_test.rb
+++ b/actionpack/test/controller/request_forgery_protection_test.rb
@@ -78,6 +78,11 @@ class RequestForgeryProtectionControllerUsingNullSession < ActionController::Bas
cookies.encrypted[:foo] = 'bar'
render :nothing => true
end
+
+ def try_to_reset_session
+ reset_session
+ render :nothing => true
+ end
end
class FreeCookieController < RequestForgeryProtectionControllerUsingResetSession
@@ -320,6 +325,11 @@ class RequestForgeryProtectionControllerUsingNullSessionTest < ActionController:
post :encrypted
assert_response :ok
end
+
+ test 'should allow reset_session' do
+ post :try_to_reset_session
+ assert_response :ok
+ end
end
class RequestForgeryProtectionControllerUsingExceptionTest < ActionController::TestCase
diff --git a/actionpack/test/dispatch/routing_test.rb b/actionpack/test/dispatch/routing_test.rb
index e4c3ddd3f9..3e9e90a950 100644
--- a/actionpack/test/dispatch/routing_test.rb
+++ b/actionpack/test/dispatch/routing_test.rb
@@ -1102,6 +1102,19 @@ class TestRoutingMapper < ActionDispatch::IntegrationTest
assert_equal 'projects#index', @response.body
end
+ def test_scoped_root_as_name
+ draw do
+ scope '(:locale)', :locale => /en|pl/ do
+ root :to => 'projects#index', :as => 'projects'
+ end
+ end
+
+ assert_equal '/en', projects_path(:locale => 'en')
+ assert_equal '/', projects_path
+ get '/en'
+ assert_equal 'projects#index', @response.body
+ end
+
def test_scope_with_format_option
draw do
get "direct/index", as: :no_format_direct, format: false