Sha256: 2f2d2d62a1c99efdf0ea2eff691a0fe046777a9e3e1ba74cd7b7b7d3af8817a1

Contents?: true

Size: 1.33 KB

Versions: 19

Compression:

Stored size: 1.33 KB

Contents

#          Copyright (c) 2006 Michael Fellinger m.fellinger@gmail.com
# All files in this distribution are subject to the terms of the Ruby license.

require 'spec/helper'

class TCStackHelperController < Ramaze::Controller
  map :/
  helper :stack, :aspect

  def index
    session.inspect
  end

  def foo
    call Rs(:login) unless logged_in?
    "logged in"
  end

  def bar
    call Rs(:login) unless logged_in?
    request.params.inspect
  end

  def secure
    logged_in? ? 'secret content' : 'please login'
  end

  def login
    session[:logged_in] = true
    answer
  end

  def logout
    session.clear
  end

  private

  def logged_in?
    session[:logged_in]
  end
end

describe "StackHelper" do
  behaves_like 'browser'
  ramaze(:adapter => :webrick)

  it "conventional login" do
    Browser.new do
      get('/secure').should == 'please login'
      get('/login')
      get('/secure').should == 'secret content'
      get('/logout')
    end
  end

  it "indirect login" do
    Browser.new do
      get('/')
      get('/foo').should == 'logged in'
      get('/secure').should == 'secret content'
      eget('/').should == {:logged_in => true}
    end
  end

  it "indirect login with params" do
    Browser.new do
      get('/')
      eget('/bar', 'x' => 'y').should == {'x' => 'y'}
      eget('/').should == {:logged_in => true}
    end
  end
end

Version data entries

19 entries across 19 versions & 5 rubygems

Version Path
Pistos-ramaze-2008.09 spec/ramaze/helper/stack.rb
Pistos-ramaze-2008.12 spec/ramaze/helper/stack.rb
Pistos-ramaze-2009.01 spec/ramaze/helper/stack.rb
Pistos-ramaze-2009.02 spec/ramaze/helper/stack.rb
clivecrous-ramaze-0.3.9.5 spec/ramaze/helper/stack.rb
manveru-ramaze-2008.07 spec/ramaze/helper/stack.rb
manveru-ramaze-2008.08 spec/ramaze/helper/stack.rb
manveru-ramaze-2008.09 spec/ramaze/helper/stack.rb
manveru-ramaze-2008.10 spec/ramaze/helper/stack.rb
manveru-ramaze-2008.12 spec/ramaze/helper/stack.rb
manveru-ramaze-2009.01 spec/ramaze/helper/stack.rb
ptomato-ramaze-2009.02.1 spec/ramaze/helper/stack.rb
ptomato-ramaze-2009.02 spec/ramaze/helper/stack.rb
ramaze-2009.01 spec/ramaze/helper/stack.rb
ramaze-0.3.9.1 spec/ramaze/helper/stack.rb
ramaze-2008.06 spec/ramaze/helper/stack.rb
ramaze-2008.11 spec/ramaze/helper/stack.rb
ramaze-2009.02 spec/ramaze/helper/stack.rb
ramaze-2009.03 spec/ramaze/helper/stack.rb