class RSpec::Core::Notifications::SummaryNotification

Public Instance Methods

colorized_rerun_commands(colorizer=::RSpec::Core::Formatters::ConsoleCodes) click to toggle source

@api public

Formats failures into a rerunable command format.

@param colorizer [#wrap] An object which supports wrapping text with

specific colors.

@return [String] A colorized summary line.

# File lib/rspec/core/notifications.rb, line 477
def colorized_rerun_commands(colorizer=::RSpec::Core::Formatters::ConsoleCodes)
  "\nFailed examples:\n\n" +
  failed_examples.map do |example|
    colorizer.wrap("rspec #{example.rerun_argument}", RSpec.configuration.failure_color) + " " +
    colorizer.wrap("# #{example.full_description}",   RSpec.configuration.detail_color)
  end.join("\n")
end
colorized_totals_line(colorizer=::RSpec::Core::Formatters::ConsoleCodes) click to toggle source

@api public

Wraps the results line with colors based on the configured colors for failure, pending, and success. Defaults to red, yellow, green accordingly.

@param colorizer [#wrap] An object which supports wrapping text with

specific colors.

@return [String] A colorized results line.

# File lib/rspec/core/notifications.rb, line 460
def colorized_totals_line(colorizer=::RSpec::Core::Formatters::ConsoleCodes)
  if failure_count > 0
    colorizer.wrap(totals_line, RSpec.configuration.failure_color)
  elsif pending_count > 0
    colorizer.wrap(totals_line, RSpec.configuration.pending_color)
  else
    colorizer.wrap(totals_line, RSpec.configuration.success_color)
  end
end
example_count() click to toggle source

@api @return [Fixnum] the number of examples run

# File lib/rspec/core/notifications.rb, line 426
def example_count
  @example_count ||= examples.size
end
failure_count() click to toggle source

@api @return [Fixnum] the number of failed examples

# File lib/rspec/core/notifications.rb, line 432
def failure_count
  @failure_count ||= failed_examples.size
end
formatted_duration() click to toggle source

@return [String] a formatted version of the time it took to run the

suite
# File lib/rspec/core/notifications.rb, line 487
def formatted_duration
  Formatters::Helpers.format_duration(duration)
end
formatted_load_time() click to toggle source

@return [String] a formatted version of the time it took to boot RSpec

and load the spec files
# File lib/rspec/core/notifications.rb, line 493
def formatted_load_time
  Formatters::Helpers.format_duration(load_time)
end
fully_formatted(colorizer=::RSpec::Core::Formatters::ConsoleCodes) click to toggle source

@return [String] The summary information fully formatted in the way that

RSpec's built-in formatters emit.
# File lib/rspec/core/notifications.rb, line 499
def fully_formatted(colorizer=::RSpec::Core::Formatters::ConsoleCodes)
  formatted = "\nFinished in #{formatted_duration} "                      "(files took #{formatted_load_time} to load)\n"                      "#{colorized_totals_line(colorizer)}\n"

  unless failed_examples.empty?
    formatted << colorized_rerun_commands(colorizer) << "\n"
  end

  formatted
end
pending_count() click to toggle source

@api @return [Fixnum] the number of pending examples

# File lib/rspec/core/notifications.rb, line 438
def pending_count
  @pending_count ||= pending_examples.size
end
totals_line() click to toggle source

@api @return [String] A line summarising the result totals of the spec run.

# File lib/rspec/core/notifications.rb, line 444
def totals_line
  summary = Formatters::Helpers.pluralize(example_count, "example")
  summary << ", " << Formatters::Helpers.pluralize(failure_count, "failure")
  summary << ", #{pending_count} pending" if pending_count > 0
  summary
end