提交 291adcd5 编写于 作者: J José Valim

Set session options id to nil is respected and cancels lazy loading.

上级 cdfa1140
......@@ -24,9 +24,9 @@ def initialize(by, env, default_options)
def [](key)
if key == :id
load_session_id! unless super(:id) || has_session_id?
load_session_id! unless key?(:id) || has_session_id?
end
super(key)
super
end
private
......
......@@ -44,7 +44,12 @@ def raise_data_overflow
session[:foo] = 'bye!' * 1024
head :ok
end
def change_session_id
request.session_options[:id] = nil
get_session_id
end
def rescue_action(e) raise end
end
......@@ -212,6 +217,19 @@ def test_persistent_session_id
end
end
def test_setting_session_id_to_nil_is_respected
with_test_route_set do
cookies[SessionKey] = SignedBar
get "/get_session_id"
sid = response.body
assert_equal sid.size, 36
get "/change_session_id"
assert_not_equal sid, response.body
end
end
def test_session_store_with_expire_after
with_test_route_set(:expire_after => 5.hours) do
# First request accesses the session
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册