aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/dispatch/session/test_session_test.rb
diff options
context:
space:
mode:
authorJoshua Peek <josh@joshpeek.com>2009-04-19 17:51:23 -0500
committerJoshua Peek <josh@joshpeek.com>2009-04-21 19:57:18 -0500
commitfc5c1b0e901a735a68dd822608eec2f99b6c7b74 (patch)
tree22047a6d77df58f744503361207380ab98ee229b /actionpack/test/dispatch/session/test_session_test.rb
parentf49e3441280380ec810d54bd5a77a7e699415efb (diff)
downloadrails-fc5c1b0e901a735a68dd822608eec2f99b6c7b74.tar.gz
rails-fc5c1b0e901a735a68dd822608eec2f99b6c7b74.tar.bz2
rails-fc5c1b0e901a735a68dd822608eec2f99b6c7b74.zip
Session tests belong under dispatch folder
Diffstat (limited to 'actionpack/test/dispatch/session/test_session_test.rb')
-rw-r--r--actionpack/test/dispatch/session/test_session_test.rb58
1 files changed, 58 insertions, 0 deletions
diff --git a/actionpack/test/dispatch/session/test_session_test.rb b/actionpack/test/dispatch/session/test_session_test.rb
new file mode 100644
index 0000000000..de6539e1cc
--- /dev/null
+++ b/actionpack/test/dispatch/session/test_session_test.rb
@@ -0,0 +1,58 @@
+require 'abstract_unit'
+require 'stringio'
+
+class ActionController::TestSessionTest < ActiveSupport::TestCase
+
+ def test_calling_delete_without_parameters_raises_deprecation_warning_and_calls_to_clear_test_session
+ assert_deprecated(/use clear instead/){ ActionController::TestSession.new.delete }
+ end
+
+ def test_calling_update_without_parameters_raises_deprecation_warning_and_calls_to_clear_test_session
+ assert_deprecated(/use replace instead/){ ActionController::TestSession.new.update }
+ end
+
+ def test_calling_close_raises_deprecation_warning
+ assert_deprecated(/sessions should no longer be closed/){ ActionController::TestSession.new.close }
+ end
+
+ def test_defaults
+ session = ActionController::TestSession.new
+ assert_equal({}, session.data)
+ assert_equal('', session.session_id)
+ end
+
+ def test_ctor_allows_setting
+ session = ActionController::TestSession.new({:one => 'one', :two => 'two'})
+ assert_equal('one', session[:one])
+ assert_equal('two', session[:two])
+ end
+
+ def test_setting_session_item_sets_item
+ session = ActionController::TestSession.new
+ session[:key] = 'value'
+ assert_equal('value', session[:key])
+ end
+
+ def test_calling_delete_removes_item
+ session = ActionController::TestSession.new
+ session[:key] = 'value'
+ assert_equal('value', session[:key])
+ session.delete(:key)
+ assert_nil(session[:key])
+ end
+
+ def test_calling_update_with_params_passes_to_attributes
+ session = ActionController::TestSession.new()
+ session.update('key' => 'value')
+ assert_equal('value', session[:key])
+ end
+
+ def test_clear_emptys_session
+ params = {:one => 'one', :two => 'two'}
+ session = ActionController::TestSession.new({:one => 'one', :two => 'two'})
+ session.clear
+ assert_nil(session[:one])
+ assert_nil(session[:two])
+ end
+
+end \ No newline at end of file