vendor/rails/actionpack/test/controller/cookie_test.rb in radiant-0.6.9 vs vendor/rails/actionpack/test/controller/cookie_test.rb in radiant-0.7.0

- old
+ new

@@ -1,6 +1,6 @@ -require File.dirname(__FILE__) + '/../abstract_unit' +require 'abstract_unit' class CookieTest < Test::Unit::TestCase class TestController < ActionController::Base def authenticate cookies["user_name"] = "david" @@ -35,11 +35,11 @@ def authenticate_with_http_only cookies["user_name"] = { :value => "david", :http_only => true } end def rescue_action(e) - raise unless ActionController::MissingTemplate # No templates here, and we don't care about the output + raise unless ActionView::MissingTemplate # No templates here, and we don't care about the output end end def setup @request = ActionController::TestRequest.new @@ -80,10 +80,11 @@ end def test_expiring_cookie get :logout assert_equal [ CGI::Cookie::new("name" => "user_name", "value" => "", "expires" => Time.at(0)) ], @response.headers["cookie"] + assert_equal CGI::Cookie::new("name" => "user_name", "value" => "", "expires" => Time.at(0)).value, [] end def test_cookiejar_accessor @request.cookies["user_name"] = CGI::Cookie.new("name" => "user_name", "value" => "david", "expires" => Time.local(2025, 10, 10)) @controller.request = @request @@ -129,7 +130,17 @@ 'domain' => 'mydomain', 'path' => 'mypath', 'expires' => Time.utc(2007, 10, 20)) assert cookie_str !~ /secure/ assert cookie_str !~ /HttpOnly/ + end + + def test_cookies_should_not_be_split_on_ampersand_values + cookies = CGI::Cookie.parse('return_to=http://rubyonrails.org/search?term=api&scope=all&global=true') + assert_equal({"return_to" => ["http://rubyonrails.org/search?term=api&scope=all&global=true"]}, cookies) + end + + def test_cookies_should_not_be_split_on_values_with_newlines + cookies = CGI::Cookie.new("name" => "val", "value" => "this\nis\na\ntest") + assert cookies.size == 1 end end