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