Module: Neospec::Report::Basic
- Defined in:
- lib/neospec/report/basic.rb
Class Method Summary collapse
- .call(results, output: $stdout) ⇒ Object
- .failures(results) ⇒ Object
- .formatted_duration(duration) ⇒ Object
- .successes(results) ⇒ Object
Class Method Details
.call(results, output: $stdout) ⇒ Object
4 5 6 |
# File 'lib/neospec/report/basic.rb', line 4 def self.call(results, output: $stdout) output.puts "\n#{successes(results)}#{failures(results)}" end |
.failures(results) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/neospec/report/basic.rb', line 18 def self.failures(results) return if results.successful? output = "\n Failures:\t#{results.failures.size}\n\n" output << "Failures:\n" output += results.failures.map do |failure| failure_output = [" #{Neospec::Color::RED}#{failure.}#{Neospec::Color::RESET}"] failure.stack.first(5).each do |location| failure_output << " > #{location}" end failure_output.join("\n") end.join("\n\n") output end |
.formatted_duration(duration) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/neospec/report/basic.rb', line 36 def self.formatted_duration(duration) if duration < 1 "#{(duration * 1000).round(2)} milliseconds" elsif duration < 60 "#{duration.round(2)} seconds" elsif duration < 3600 minutes = (duration / 60).to_i seconds = (duration % 60).to_i "#{minutes} minute#{(minutes == 1) ? "" : "s"} #{seconds} second#{(seconds == 1) ? "" : "s"}" elsif duration < 86400 hours = (duration / 3600).to_i minutes = ((duration % 3600) / 60).to_i "#{hours} hour#{(hours == 1) ? "" : "s"} #{minutes} minute#{(minutes == 1) ? "" : "s"}" else days = (duration / 86400).to_i hours = ((duration % 86400) / 3600).to_i "#{days} day#{(days == 1) ? "" : "s"} #{hours} hour#{(hours == 1) ? "" : "s"}" end end |
.successes(results) ⇒ Object
8 9 10 11 12 13 14 15 16 |
# File 'lib/neospec/report/basic.rb', line 8 def self.successes(results) <<~STR.chomp Finished in #{formatted_duration(results.duration)} Results: Specs:\t#{results.specs.size} Expectations:\t#{results.expectations} STR end |