Sha256: b664627e70a7469d89e313583c2c440c27b531f95fda3029466a75b94eae7f12

Contents?: true

Size: 1.07 KB

Versions: 2

Compression:

Stored size: 1.07 KB

Contents

require 'test/unit'
require 'test/unit/assertions'
require 'rexml/document'

require 'glue'
require 'glue/logger'
require 'nitro/conf'
require 'nitro/testing/context'

module Test::Unit
  
class TestCase
  include Nitro

  attr_accessor :conf
  attr_accessor :context

  def handle(path, request = {}, session = nil, headers = {})
    @conf ||= Conf.new({})
    @conf.public_root ||= File.join(File.dirname(__FILE__), '..', 'public')
    @conf.template_root ||= File.join(File.dirname(__FILE__), '..', 'public')
    
    begin
      context = Context.new(@conf)

      # context.in = StringIO.new(req.body || "")

      context.params = request
      context.headers ||= headers
      context.session = session if session
    
      context.headers['REQUEST_URI'] = path
      # CgiUtils.parse_params(context)
      # CgiUtils.parse_cookies(context)

      context.render(path)
    
      @context = context

      return context
    ensure
      Og.manager.put_store if defined?(Og) and Og.manager
    end
  end
  alias_method :process, :handle

end

end

# * George Moschovitis <gm@navel.gr>

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
nitro-0.21.0 lib/nitro/testing/testcase.rb
nitro-0.21.2 lib/nitro/testing/testcase.rb