class RSpec::Core::Formatters::ProfileFormatter

Formatter for providing profile output.
@api private

def bold(text)

def bold(text)
  ConsoleCodes.wrap(text, :bold)
end

def dump_profile(profile)

Parameters:
  • profile (ProfileNotification) -- containing duration,

Other tags:
    Api: - public
def dump_profile(profile)
  dump_profile_slowest_examples(profile)
  dump_profile_slowest_example_groups(profile)
end

def dump_profile_slowest_example_groups(profile)

def dump_profile_slowest_example_groups(profile)
  return if profile.slowest_groups.empty?
  @output.puts "\nTop #{profile.slowest_groups.size} slowest example groups:"
  profile.slowest_groups.each do |loc, hash|
    average = "#{bold(Helpers.format_seconds(hash[:average]))} #{bold("seconds")} average"
    total   = "#{Helpers.format_seconds(hash[:total_time])} seconds"
    count   = Helpers.pluralize(hash[:count], "example")
    @output.puts "  #{hash[:description]}"
    @output.puts "    #{average} (#{total} / #{count}) #{loc}"
  end
end

def dump_profile_slowest_examples(profile)

def dump_profile_slowest_examples(profile)
  @output.puts "\nTop #{profile.slowest_examples.size} slowest " \
    "examples (#{Helpers.format_seconds(profile.slow_duration)} " \
    "seconds, #{profile.percentage}% of total time):\n"
  profile.slowest_examples.each do |example|
    @output.puts "  #{example.full_description}"
    @output.puts "    #{bold(Helpers.format_seconds(example.execution_result.run_time))} " \
                 "#{bold("seconds")} #{format_caller(example.location)}"
  end
end

def format_caller(caller_info)

def format_caller(caller_info)
  RSpec.configuration.backtrace_formatter.backtrace_line(
    caller_info.to_s.split(':in `block').first)
end

def initialize(output)

def initialize(output)
  @output = output
end