Sha256: 0e6a13853cb1caf9033e8477bf2b7215f2308d95ba8c664adc1f4e809b1d7abc

Contents?: true

Size: 1.27 KB

Versions: 2

Compression:

Stored size: 1.27 KB

Contents

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

$NITRO_NO_ENVIRONMENT = true

require 'test/unit'
require 'ostruct'

require 'glue'
require 'glue/logger'
require 'nitro'

class TC_Controller < Test::Unit::TestCase # :nodoc: all
  include Nitro
  
  class Blog2Controller < Controller
    attr_reader :aflag, :tflag

    @template_root = File.expand_path(Nitro::LibPath + '../../test/public/blog')

    def list
      @aflag = true 
    end
  end
  
  def setup
    @disp = Dispatcher.new({
      '/blog' => Blog2Controller,
    })
    @conf = OpenStruct.new
    @conf.dispatcher = @disp
  end
  
  def test_render
    ctx = Context.new(@conf)
    ctx.headers = {}
    ctx.params = {}
    ctx.headers['REQUEST_URI'] = '/blog/list'
    ctx.instance_eval '@session = {}'
    klass, action = ctx.dispatcher.dispatch(ctx.path, ctx)
    c = klass.new(ctx)

    begin
      c.send(action)
    rescue RenderExit
      # drink
    end

    assert_equal true, c.aflag
    assert_equal true, $include1
    assert_equal true, $include2

    # the template is compiled
    assert_equal true, c.tflag
  end

  def test_action_methods
    # aflag/tflag are counted too!
    assert_equal 3, Blog2Controller.action_methods.size
    assert Blog2Controller.action_methods.include?('list')
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
nitro-0.22.0 test/nitro/tc_controller.rb
nitro-0.23.0 test/nitro/tc_controller.rb