aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/dispatch/request
diff options
context:
space:
mode:
authorOscar Del Ben <info@oscardelben.com>2012-05-14 13:56:26 -0700
committerOscar Del Ben <info@oscardelben.com>2012-05-14 13:56:26 -0700
commitf2af398efa40dff20d4841d595bc0366660707cc (patch)
tree8af0c081de5f2d6cfc1b033c5eefa9954de569dd /actionpack/test/dispatch/request
parent59462c1e310b85569785cf5f491611e670c2755b (diff)
parent151aa9abae131f1a03513f756aeaef2fc403f9bb (diff)
downloadrails-f2af398efa40dff20d4841d595bc0366660707cc.tar.gz
rails-f2af398efa40dff20d4841d595bc0366660707cc.tar.bz2
rails-f2af398efa40dff20d4841d595bc0366660707cc.zip
Merge branch 'master' of github.com:lifo/docrails
Diffstat (limited to 'actionpack/test/dispatch/request')
-rw-r--r--actionpack/test/dispatch/request/session_test.rb48
1 files changed, 48 insertions, 0 deletions
diff --git a/actionpack/test/dispatch/request/session_test.rb b/actionpack/test/dispatch/request/session_test.rb
new file mode 100644
index 0000000000..4d24456ba6
--- /dev/null
+++ b/actionpack/test/dispatch/request/session_test.rb
@@ -0,0 +1,48 @@
+require 'abstract_unit'
+require 'action_dispatch/middleware/session/abstract_store'
+
+module ActionDispatch
+ class Request
+ class SessionTest < ActiveSupport::TestCase
+ def test_create_adds_itself_to_env
+ env = {}
+ s = Session.create(store, env, {})
+ assert_equal s, env[Rack::Session::Abstract::ENV_SESSION_KEY]
+ end
+
+ def test_to_hash
+ env = {}
+ s = Session.create(store, env, {})
+ s['foo'] = 'bar'
+ assert_equal 'bar', s['foo']
+ assert_equal({'foo' => 'bar'}, s.to_hash)
+ end
+
+ def test_create_merges_old
+ env = {}
+ s = Session.create(store, env, {})
+ s['foo'] = 'bar'
+
+ s1 = Session.create(store, env, {})
+ refute_equal s, s1
+ assert_equal 'bar', s1['foo']
+ end
+
+ def test_find
+ env = {}
+ assert_nil Session.find(env)
+
+ s = Session.create(store, env, {})
+ assert_equal s, Session.find(env)
+ end
+
+ private
+ def store
+ Class.new {
+ def load_session(env); [1, {}]; end
+ def session_exists?(env); true; end
+ }.new
+ end
+ end
+ end
+end