class PhpTestHook
Constants
- FAILED_REGEXP
- PASSED_REGEXP
- TEST_NAME
Public Instance Methods
run!(request)
click to toggle source
# File lib/test_hook.rb, line 6 def run!(request) result = request.result[:test] unless result.include? TEST_NAME return [mask_tempfile_references(result.strip), :errored] end [to_structured_result(result)] end
to_structured_result(result)
click to toggle source
# File lib/test_hook.rb, line 16 def to_structured_result(result) passed_tests = result.scan(PASSED_REGEXP).map { |it| to_passed_result it } failed_tests = result.scan(FAILED_REGEXP).map { |it| to_failed_result it }.uniq { |it| it.first } passed_tests.concat(failed_tests) end
Private Instance Methods
mask_tempfile_references(string)
click to toggle source
# File lib/test_hook.rb, line 36 def mask_tempfile_references(string) string.gsub /\/tmp\/tmp\.\w+/, 'solution.php' end
to_failed_result(regexp_groups)
click to toggle source
# File lib/test_hook.rb, line 29 def to_failed_result(regexp_groups) reason_lines = regexp_groups.last.split "\n" reason = reason_lines.take(reason_lines.count - 2).join "\n" [regexp_groups.first, 'failed', reason] end
to_passed_result(regexp_groups)
click to toggle source
# File lib/test_hook.rb, line 25 def to_passed_result(regexp_groups) [regexp_groups.first, 'passed', ''] end