Class: RSpec::HalfFull
- Inherits:
-
Core::Formatters::BaseTextFormatter
- Object
- Core::Formatters::BaseTextFormatter
- RSpec::HalfFull
- Defined in:
- lib/rspec/half_full.rb
Instance Method Summary collapse
- #dump_commands_to_rerun_failed_examples ⇒ Object
- #dump_failure_info(example) ⇒ Object
- #dump_failures ⇒ Object
-
#initialize(io) ⇒ HalfFull
constructor
A new instance of HalfFull.
- #pluralize(count, string) ⇒ Object
- #summary_line(example_count, failure_count, pending_count) ⇒ Object
Constructor Details
Instance Method Details
#dump_commands_to_rerun_failed_examples ⇒ Object
43 44 45 46 47 48 49 50 51 52 |
# File 'lib/rspec/half_full.rb', line 43 def dump_commands_to_rerun_failed_examples return if failed_examples.empty? output.puts output.puts("Rerun on next step to success:") output.puts failed_examples.each do |example| output.puts(failure_color("rspec #{RSpec::Core::Metadata::relative_path(example.location)}") + " " + detail_color("# #{example.full_description}")) end end |
#dump_failure_info(example) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/rspec/half_full.rb', line 31 def dump_failure_info(example) exception = example.execution_result.exception exception_class_name = exception_class_name_for(exception) output.puts "#{long_padding}#{failure_color("Future Success:")} #{failure_color(read_failed_line(exception, example).strip)}" output.puts "#{long_padding}#{failure_color(exception_class_name)}:" unless exception_class_name =~ /RSpec/ exception..to_s.split("\n").each { |line| output.puts "#{long_padding} #{failure_color(line)}" } if exception. if shared_group = find_shared_group(example) dump_shared_failure_info(shared_group) end end |
#dump_failures ⇒ Object
20 21 22 23 24 25 26 27 28 29 |
# File 'lib/rspec/half_full.rb', line 20 def dump_failures return if failed_examples.empty? output.puts output.puts "Future successes:" failed_examples.each_with_index do |example, index| output.puts pending_fixed?(example) ? dump_pending_fixed(example, index) : dump_failure(example, index) dump_backtrace(example) end end |
#pluralize(count, string) ⇒ Object
54 55 56 57 58 59 60 |
# File 'lib/rspec/half_full.rb', line 54 def pluralize(count, string) if string.end_with?("success") "#{count} #{string}#{'es' unless count.to_f == 1}" else super(count, string) end end |
#summary_line(example_count, failure_count, pending_count) ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'lib/rspec/half_full.rb', line 11 def summary_line(example_count, failure_count, pending_count) success_count = example_count - failure_count - pending_count summary = pluralize(example_count, "example") summary << ", " << "#{success_count} already successful" if success_count > 0 summary << ", " << pluralize(failure_count, "future success") summary << ", #{pending_count} pending" if pending_count > 0 summary end |