Sha256: 7611b89537dce770cf839c42761410585ead44e23c26bb3df56c15e3d0a2f0eb

Contents?: true

Size: 1.04 KB

Versions: 1

Compression:

Stored size: 1.04 KB

Contents

$:.unshift File.join(File.dirname(__FILE__), '..', '..', 'lib')

require 'test/unit'
require 'ostruct'

require 'nitro'
require 'nitro/controller'
require 'nitro/flash'

class TC_Flash < Test::Unit::TestCase # :nodoc: all
  include Nitro

  class MyController < Controller
    attr_accessor :flag
    
    def action1
      flash[:msg] = 'Hello world!'
    end
    
    def action2
      @flag = flash[:msg]
    end
  end

  def setup
    @conf = OpenStruct.new
  end

  def teardown
    @conf = nil
  end
  
  def test_all
    ctx = Context.new(@conf)
    ctx.headers = {}
    ctx.params = {}
    ctx.instance_eval '@session = {}'
    c = MyController.new(ctx)  
    c.action1
    c.action2
    assert_equal 'Hello world!', c.flag
    c.action2
    assert_equal 'Hello world!', c.flag
  end  
  
  def test_push
    f = Flashing::Flash.new
    f.push :errors, 'Error 1'
    f.push :errors, 'Error 2'
    
    assert_equal 2, f[:errors].size
    
    f.push :errors, [1, 2, 3]
    
    assert_equal 5, f[:errors].size
    
    assert_equal 3, f[:errors].pop
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
nitro-0.29.0 test/nitro/tc_flash.rb