Class: JavascriptTestHook
- Inherits:
-
Mumukit::Templates::FileHook
- Object
- Mumukit::Templates::FileHook
- JavascriptTestHook
- Defined in:
- lib/test_hook.rb
Instance Method Summary collapse
- #command_line(filename) ⇒ Object
- #compile_file_content(request) ⇒ Object
- #parse_out(exception) ⇒ Object
- #post_process_unstructured_result(file, result, status) ⇒ Object
- #tempfile_extension ⇒ Object
- #to_structured_result(result) ⇒ Object
- #transform(examples) ⇒ Object
Instance Method Details
#command_line(filename) ⇒ Object
26 27 28 |
# File 'lib/test_hook.rb', line 26 def command_line(filename) "mocha #{filename} -R json" end |
#compile_file_content(request) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/test_hook.rb', line 6 def compile_file_content(request) <<javascript 'use strict'; let assert = require('assert'); #{request.extra} #{request.content} describe('', function() { after(function() { console.log("!!!JAVASCRIPT-MUMUKI-OUTPUT!!!"); }); #{request.test} }) javascript end |
#parse_out(exception) ⇒ Object
46 47 48 |
# File 'lib/test_hook.rb', line 46 def parse_out(exception) exception.present? ? content_type.code(exception['message']) : '' end |
#post_process_unstructured_result(file, result, status) ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/test_hook.rb', line 34 def post_process_unstructured_result(file, result, status) if status.errored? [content_type.code(result.gsub(/(SyntaxError: .*\n)(.|\n)*/) { $1 }), status] else super end end |
#tempfile_extension ⇒ Object
22 23 24 |
# File 'lib/test_hook.rb', line 22 def tempfile_extension '.js' end |
#to_structured_result(result) ⇒ Object
30 31 32 |
# File 'lib/test_hook.rb', line 30 def to_structured_result(result) transform(super['tests']) end |
#transform(examples) ⇒ Object
42 43 44 |
# File 'lib/test_hook.rb', line 42 def transform(examples) examples.map { |e| [e['fullTitle'], e['err'].present? ? :failed : :passed, parse_out(e['err'])] } end |