1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
require File.expand_path('../../../../spec/helper', __FILE__)
spec_require 'sqlite3'
spec_require 'sequel'
class SpecSession < Ramaze::Controller
map '/'
engine :None
def index
'No session here'
end
def init
session[:counter] = 0
end
def view
session[:counter]
end
def increment
session[:counter] += 1
end
def decrement
session[:counter] -= 1
end
def reset
session.clear
end
end
Ramaze::Cache.options.session = Ramaze::Cache::Sequel.using(
:connection => Sequel.sqlite(':memory:')
)
describe 'Sessions with Ramaze::Cache::Sequel' do
behaves_like :rack_test
should 'initiate session as needed' do
get '/'
last_response.body.should == 'No session here'
last_response['Set-Cookie'].should == nil
get('/init')
last_response.body.should == '0'
1.upto(10) do |n|
get('/increment').body.should == n.to_s
end
get('/reset')
get('/view').body.should == ''
get('/init').body.should == '0'
-1.downto(-10) do |n|
get('/decrement').body.should == n.to_s
end
end
end
|