class HtmlTestHook
Public Class Methods
new(config = nil)
click to toggle source
Calls superclass method
# File lib/test_hook.rb, line 5 def initialize(config = nil) super config @dom_hook = HtmlTestDomHook.new @script_hook = HtmlTestScriptHook.new end
Public Instance Methods
compile(request)
click to toggle source
# File lib/test_hook.rb, line 11 def compile(request) request = struct request.to_h.merge options: options(request) @script_hook.compile @dom_hook.compile(request) end
run!(request)
click to toggle source
# File lib/test_hook.rb, line 16 def run!(request) dom_output, dom_status = @dom_hook.run! request script_results = @script_hook.run!(request) script_test_results = script_results&.first return ["<pre>#{script_test_results}</pre>", :errored] if script_results&.last&.errored? if script_test_results.blank? [dom_output, dom_status] else [script_test_results, dom_output, dom_status] end end
Private Instance Methods
options(request)
click to toggle source
# File lib/test_hook.rb, line 31 def options(request) return {} unless request.test.is_a?(Hash) options_yaml = request.test['options'] return {} if options_yaml.blank? YAML.load(options_yaml) end