aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/controller
diff options
context:
space:
mode:
authorJamis Buck <jamis@37signals.com>2005-07-22 10:37:09 +0000
committerJamis Buck <jamis@37signals.com>2005-07-22 10:37:09 +0000
commit06843f8794ad8c0368ece9ab57e340052f758025 (patch)
tree8c79aba7c8267733b4f66e20a6a57ff1c0b1110b /actionpack/test/controller
parent06160fd3e85e99374ac09bb941aa499eba7a98c5 (diff)
downloadrails-06843f8794ad8c0368ece9ab57e340052f758025.tar.gz
rails-06843f8794ad8c0368ece9ab57e340052f758025.tar.bz2
rails-06843f8794ad8c0368ece9ab57e340052f758025.zip
Added support for per-action session management #1763
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1886 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/test/controller')
-rw-r--r--actionpack/test/controller/session_management_test.rb50
1 files changed, 50 insertions, 0 deletions
diff --git a/actionpack/test/controller/session_management_test.rb b/actionpack/test/controller/session_management_test.rb
new file mode 100644
index 0000000000..fef94f8263
--- /dev/null
+++ b/actionpack/test/controller/session_management_test.rb
@@ -0,0 +1,50 @@
+require File.dirname(__FILE__) + '/../abstract_unit'
+
+class SessionManagementTest < Test::Unit::TestCase
+ class SessionOffController < ActionController::Base
+ session :off
+
+ def show
+ render_text "done"
+ end
+
+ def tell
+ render_text "done"
+ end
+ end
+
+ class TestController < ActionController::Base
+ session :off, :only => :show
+ session :session_secure => true, :except => :show
+
+ def show
+ render_text "done"
+ end
+
+ def tell
+ render_text "done"
+ end
+ end
+
+ def setup
+ @request, @response = ActionController::TestRequest.new,
+ ActionController::TestResponse.new
+ end
+
+ def test_session_off_globally
+ @controller = SessionOffController.new
+ get :show
+ assert_equal false, @request.session_options
+ get :tell
+ assert_equal false, @request.session_options
+ end
+
+ def test_session_off_conditionally
+ @controller = TestController.new
+ get :show
+ assert_equal false, @request.session_options
+ get :tell
+ assert_instance_of Hash, @request.session_options
+ assert @request.session_options[:session_secure]
+ end
+end