lib/daigaku/test_result.rb in daigaku-0.0.1 vs lib/daigaku/test_result.rb in daigaku-0.0.2

- old
+ new

@@ -6,11 +6,15 @@ attr_reader :examples, :example_count, :failure_count TEST_PASSED_MESSAGE = "Your code passed all tests. Congratulations!" def initialize(result_json) - @result = JSON.parse(result_json, symbolize_names: true) + @result = begin + JSON.parse(result_json, symbolize_names: true) + rescue + syntax_error_json + end @example_count = @result[:summary][:example_count] @failure_count = @result[:summary][:failure_count] @examples = @result[:examples].map do |example| @@ -45,9 +49,20 @@ end summary = message.map(&:strip).join("\n" * 3) end + def syntax_error_json + { + summary: {}, + examples: [ + { + status: 'failed', + exception: { message: ":( You got a syntax error in your code!" } + } + ] + } + end end class TestExample attr_reader :description, :status, :message