Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merge pull request #7568 from alup/master

Tests for session handling
  • Loading branch information...
commit 68ca54959edeb7eb5cfe1707bd466476f106b39f 2 parents f415475 + e282a0a
@carlosantoniodasilva carlosantoniodasilva authored
View
9 actionpack/test/dispatch/request/session_test.rb
@@ -52,6 +52,15 @@ def test_values
assert_equal %w[ftw awesome], s.values
end
+ def test_clear
+ env = {}
+ s = Session.create(store, env, {})
+ s['rails'] = 'ftw'
+ s['adequate'] = 'awesome'
+ s.clear
+ assert_equal([], s.values)
+ end
+
private
def store
Class.new {
View
20 actionpack/test/dispatch/session/cookie_store_test.rb
@@ -30,6 +30,11 @@ def get_session_id
render :text => "id: #{request.session_options[:id]}"
end
+ def get_class_after_reset_session
+ reset_session
+ render :text => "class: #{session.class}"
+ end
+
def call_session_clear
session.clear
head :ok
@@ -187,6 +192,7 @@ def test_setting_session_value_after_session_reset
get '/call_reset_session'
assert_response :success
assert_not_equal [], headers['Set-Cookie']
+ assert_not_nil session_payload
assert_not_equal session_payload, cookies[SessionKey]
get '/get_session_value'
@@ -195,6 +201,20 @@ def test_setting_session_value_after_session_reset
end
end
+ def test_class_type_after_session_reset
+ with_test_route_set do
+ get '/set_session_value'
+ assert_response :success
+ assert_equal "_myapp_session=#{response.body}; path=/; HttpOnly",
+ headers['Set-Cookie']
+
+ get '/get_class_after_reset_session'
+ assert_response :success
+ assert_not_equal [], headers['Set-Cookie']
+ assert_equal 'class: ActionDispatch::Request::Session', response.body
+ end
+ end
+
def test_getting_from_nonexistent_session
with_test_route_set do
get '/get_session_value'
Please sign in to comment.
Something went wrong with that request. Please try again.