Sha256: 8b3876e15d46046b0365b48dc2b789e129ee4ac7915db4768b1b48710453da26
Contents?: true
Size: 1.58 KB
Versions: 3
Compression:
Stored size: 1.58 KB
Contents
module Fix # The class that is responsible for reporting the result of the test. # # @api private # class Report # Initialize the report class. # # @param test [Test] The test. def initialize(test) @test = test end # @!attribute [r] test # # @return [Test] The result. attr_reader :test # The report in plain text. # # @return [String] The report in plain text. def to_s maybe_thematic_break + maybe_alerts_banner + total_time_banner + statistics_banner end private # @private def maybe_thematic_break test.results.any? && @test.configuration.fetch(:verbose) ? "\n\n" : '' end # @private def total_time_banner "Ran #{test.results.length} tests in #{test.total_time} seconds\n" end # @private def alerts test.results.reject { |r| r.to_char == '.' } end # @private def maybe_alerts_banner alerts.any? ? "#{results_banner.join("\n")}\n" : '' end # @private def results_banner alerts.map.with_index(1) do |r, i| "#{i}. #{r.message}\n" + maybe_backtrace(r) end end # @private def maybe_backtrace(result) result.respond_to?(:backtrace) ? " #{result.backtrace.first}\n" : '' end # @private def statistics_banner "#{test.statistics.fetch(:pass_percent)}% compliant - " \ "#{test.statistics.fetch(:total_infos)} infos, " \ "#{test.statistics.fetch(:total_failures)} failures, " \ "#{test.statistics.fetch(:total_errors)} errors\n" end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
fix-0.9.1 | lib/fix/report.rb |
fix-0.9.0 | lib/fix/report.rb |
fix-0.8.0 | lib/fix/report.rb |