Sha256: 9e776d130dc7df1a8f2e3592b962279f083b97f6da0f4e7c48053be69608aa98

Contents?: true

Size: 1.01 KB

Versions: 2

Compression:

Stored size: 1.01 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.19.0 lib/nitro/testing/testcase.rb
nitro-0.20.0 lib/nitro/testing/testcase.rb