Class: Deas::TestRunner

Inherits:
Runner
  • Object
show all
Defined in:
lib/deas/test_runner.rb

Defined Under Namespace

Modules: Stringify Classes: ContentTypeArgs, HaltArgs, HeadersArgs, RedirectArgs, RenderArgs, SendFileArgs, StatusArgs

Instance Attribute Summary collapse

Attributes inherited from Runner

#app_settings, #logger, #params, #request, #response, #session

Instance Method Summary collapse

Constructor Details

#initialize(handler_class, args = nil) ⇒ TestRunner

Returns a new instance of TestRunner.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/deas/test_runner.rb', line 11

def initialize(handler_class, args = nil)
  args = (args || {}).dup
  @app_settings = OpenStruct.new(args.delete(:app_settings))
  @logger       = args.delete(:logger) || Deas::NullLogger.new
  @params       = normalize_params(args.delete(:params) || {})
  @request      = args.delete(:request)
  @response     = args.delete(:response)
  @session      = args.delete(:session)

  super(handler_class)
  args.each{|key, value| @handler.send("#{key}=", value) }

  @return_value = catch(:halt){ @handler.init; nil }
end

Instance Attribute Details

#handlerObject (readonly)

Returns the value of attribute handler.



9
10
11
# File 'lib/deas/test_runner.rb', line 9

def handler
  @handler
end

#return_valueObject (readonly)

Returns the value of attribute return_value.



9
10
11
# File 'lib/deas/test_runner.rb', line 9

def return_value
  @return_value
end

Instance Method Details

#content_type(value, opts = {}) ⇒ Object



54
55
56
# File 'lib/deas/test_runner.rb', line 54

def content_type(value, opts={})
  ContentTypeArgs.new(value, opts)
end

#halt(*args) ⇒ Object

Helpers



32
33
34
# File 'lib/deas/test_runner.rb', line 32

def halt(*args)
  throw(:halt, HaltArgs.new(args))
end

#headers(value) ⇒ Object



66
67
68
# File 'lib/deas/test_runner.rb', line 66

def headers(value)
  HeadersArgs.new(value)
end

#redirect(path, *halt_args) ⇒ Object



46
47
48
# File 'lib/deas/test_runner.rb', line 46

def redirect(path, *halt_args)
  RedirectArgs.new(path, halt_args)
end

#render(template_name, options = nil, &block) ⇒ Object



72
73
74
# File 'lib/deas/test_runner.rb', line 72

def render(template_name, options = nil, &block)
  RenderArgs.new(template_name, options, block)
end

#runObject



26
27
28
# File 'lib/deas/test_runner.rb', line 26

def run
  @return_value ||= catch(:halt){ @handler.run }
end

#send_file(file_path, options = nil, &block) ⇒ Object



78
79
80
# File 'lib/deas/test_runner.rb', line 78

def send_file(file_path, options = nil, &block)
  SendFileArgs.new(file_path, options, block)
end

#status(value) ⇒ Object



60
61
62
# File 'lib/deas/test_runner.rb', line 60

def status(value)
  StatusArgs.new(value)
end