From 09c708981ce058fe9b1cbead4fac9fbb58de6a97 Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Sun, 28 Jan 2007 18:24:46 +0000 Subject: TestSession supports indifferent access so session['foo'] == session[:foo] in your tests. Closes #7372. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6086 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionpack/CHANGELOG | 2 ++ actionpack/lib/action_controller/test_process.rb | 4 ++-- actionpack/test/controller/test_test.rb | 14 ++++++++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG index 70a4c8dbd0..a4385088a9 100644 --- a/actionpack/CHANGELOG +++ b/actionpack/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* TestSession supports indifferent access so session['foo'] == session[:foo] in your tests. #7372 [julik, jean.helou] + * Allow Routes to generate all urls for a set of options by specifying :generate_all => true. Allows caching to properly set or expire all paths for a resource. References #1739. [Nicholas Seckar] * Change the query parser to map empty GET params to "" rather than nil. Closes #5694. [Nicholas Seckar] diff --git a/actionpack/lib/action_controller/test_process.rb b/actionpack/lib/action_controller/test_process.rb index beccec6f94..1c319418b6 100644 --- a/actionpack/lib/action_controller/test_process.rb +++ b/actionpack/lib/action_controller/test_process.rb @@ -292,11 +292,11 @@ module ActionController #:nodoc: end def [](key) - data[key] + data[key.to_s] end def []=(key, value) - data[key] = value + data[key.to_s] = value end def update diff --git a/actionpack/test/controller/test_test.rb b/actionpack/test/controller/test_test.rb index ab44fbf3ca..4232863cdc 100644 --- a/actionpack/test/controller/test_test.rb +++ b/actionpack/test/controller/test_test.rb @@ -8,6 +8,12 @@ class TestTest < Test::Unit::TestCase render :text => 'ignore me' end + def set_session + session['string'] = 'A wonder' + session[:symbol] = 'it works' + render :text => 'Success' + end + def render_raw_post raise Test::Unit::AssertionFailedError, "#raw_post is blank" if request.raw_post.blank? render :text => request.raw_post @@ -111,6 +117,14 @@ HTML assert_equal '>value<', flash['test'] end + def test_process_with_session + process :set_session + assert_equal 'A wonder', session['string'], "A value stored in the session should be available by string key" + assert_equal 'A wonder', session[:string], "Test session hash should allow indifferent access" + assert_equal 'it works', session['symbol'], "Test session hash should allow indifferent access" + assert_equal 'it works', session[:symbol], "Test session hash should allow indifferent access" + end + def test_process_with_request_uri_with_no_params process :test_uri assert_equal "/test_test/test/test_uri", @response.body -- cgit v1.2.3