Sha256: b8dec8b8a9ba1180421b6c3818a89f7f721e24f4ba9f16607508fc2da1625091

Contents?: true

Size: 940 Bytes

Versions: 3

Compression:

Stored size: 940 Bytes

Contents

require 'spec/helper'

class SpecSession
  Innate.node('/').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

describe Innate::Session do
  behaves_like :session

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

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

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

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

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

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
manveru-innate-2009.03.24 spec/innate/session.rb
manveru-innate-2009.04.01 spec/innate/session.rb
manveru-innate-2009.04.08 spec/innate/session.rb