class HtmlTestScriptHook
Public Instance Methods
command_line(filename)
click to toggle source
# File lib/test_script_hook.rb, line 16 def command_line(filename) "run-dom-tests #{filename}" end
compile(request)
click to toggle source
Calls superclass method
# File lib/test_script_hook.rb, line 4 def compile(request) return request if script_test(request).blank? struct request.to_h.merge file: super(request) end
compile_file_content(request)
click to toggle source
# File lib/test_script_hook.rb, line 20 def compile_file_content(request) JSON.generate html: request.content, tests: script_test(request) end
post_process_file(_file, result, status)
click to toggle source
# File lib/test_script_hook.rb, line 25 def post_process_file(_file, result, status) report = JSON.parse(result) test_results = generate_test_results report [test_results, :passed] rescue [result, :errored] end
run!(request)
click to toggle source
Calls superclass method
# File lib/test_script_hook.rb, line 10 def run!(request) return nil if script_test(request).blank? super request.file end
Private Instance Methods
create_error_tag(message)
click to toggle source
# File lib/test_script_hook.rb, line 50 def create_error_tag(message) return '' if message.blank? "<pre>#{message}</pre>" end
generate_test_results(report)
click to toggle source
# File lib/test_script_hook.rb, line 36 def generate_test_results(report) report['tests'].map { |it| [ it['fullTitle'], it['err'].blank? ? :passed : :failed, create_error_tag(it['err']&.dig('message')) ] } end
script_test(request)
click to toggle source
# File lib/test_script_hook.rb, line 46 def script_test(request) request.test.is_a?(Hash) ? request.test['tests'] : nil end