Sha256: a60f1e957f6c3b6d647b289e430312c167553e4cc667a436e2c5a730f6e4354d

Contents?: true

Size: 1.03 KB

Versions: 1

Compression:

Stored size: 1.03 KB

Contents

require 'spec/helper'

class SessionSpec
  include Innate::Node
  map '/'
  provide :html => :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

Innate.options.cache.default = Innate::Cache::Memory

Innate.setup_dependencies

describe 'Innate::Session' do
  should 'initiate session as needed' do
    Innate::Mock.session do |session|
      response = session.get('/')
      response.body.should == 'No session here'
      response['Set-Cookie'].should == nil

      session.get('/init').body.should == '0'

      1.upto(10) do |n|
        session.get('/increment').body.should == n.to_s
      end

      session.get('/reset')
      session.get('/view').body.should == ''
      session.get('/init').body.should == '0'

      -1.downto(-10) do |n|
        session.get('/decrement').body.should == n.to_s
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
manveru-innate-2009.02.06 spec/innate/session.rb