class Shoulda::Matchers::ActionController::SetSessionMatcher
:nodoc:
def assigned_correct_value?
def assigned_correct_value? if assigned_value? if @value.nil? true else assigned_value == @value end end end
def assigned_value
def assigned_value session[@key] end
def assigned_value?
def assigned_value? !assigned_value.nil? end
def cleared_value?
def cleared_value? defined?(@value) && @value.nil? && assigned_value.nil? end
def description
def description description = "set session variable #{@key.inspect}" if @value description << " to #{@value.inspect}" end description end
def expectation
def expectation expectation = "session variable #{@key} to be set" if @value expectation << " to #{@value.inspect}" end end
def failure_message_for_should
def failure_message_for_should "Expected #{expectation}, but #{result}" end
def failure_message_for_should_not
def failure_message_for_should_not "Didn't expect #{expectation}, but #{result}" end
def in_context(context)
def in_context(context) @context = context self end
def initialize(key)
def initialize(key) @key = key.to_s end
def matches?(controller)
def matches?(controller) @controller = controller if @value_block @value = @context.instance_eval(&@value_block) end assigned_correct_value? || cleared_value? end
def result
def result if session.empty? 'no session variables were set' else "the session was #{session.inspect}" end end
def session
def session if @controller.request.respond_to?(:session) @controller.request.session.to_hash else @controller.response.session.data end end
def to(value = nil, &block)
def to(value = nil, &block) @value = value @value_block = block self end