Parent

Class/Module Index [+]

Quicksearch

RSpec::Core::Formatters::BaseTextFormatter

Public Instance Methods

close() click to toggle source
# File lib/rspec/core/formatters/base_text_formatter.rb, line 95
def close
  output.close if IO === output && output != $stdout
end
colorise_summary(summary) click to toggle source
# File lib/rspec/core/formatters/base_text_formatter.rb, line 47
def colorise_summary(summary)
  if failure_count == 0
    if pending_count > 0
      yellow(summary)
    else
      green(summary)
    end
  else
    red(summary)
  end
end
dump_failures() click to toggle source
# File lib/rspec/core/formatters/base_text_formatter.rb, line 13
def dump_failures
  return if failed_examples.empty?
  output.puts
  output.puts "Failures:"
  failed_examples.each_with_index do |example, index|
    output.puts if index > 0
    exception = example.execution_result[:exception_encountered]
    short_padding = '  '
    padding = '     '
    if exception.is_a?(RSpec::Core::PendingExampleFixedError)
      output.puts "#{short_padding}#{index.next}) #{example.full_description} FIXED"
      output.puts "#{padding}Expected pending '#{example.metadata[:execution_result][:pending_message]}' to fail. No Error was raised."
    else
      output.puts "#{short_padding}#{index.next}) #{example.full_description}"
      output.puts "#{padding}#{red("Failure/Error:")} #{red(read_failed_line(exception, example).strip)}"
      exception.message.split("\n").each do |line|
        output.puts "#{padding}#{red(line)}"
      end

      example.example_group.ancestors.push(example.example_group).each do |group|
        if group.metadata[:shared_group_name]
          output.puts "#{padding}Shared Example Group: \"#{group.metadata[:shared_group_name]}\" called from " +
                      "#{backtrace_line(group.metadata[:example_group][:location])}"
          break
        end
      end
    end

    format_backtrace(exception.backtrace, example).each do |backtrace_info|
      output.puts grey("#{padding}# #{backtrace_info}")
    end
  end
end
dump_pending() click to toggle source
# File lib/rspec/core/formatters/base_text_formatter.rb, line 83
def dump_pending
  unless pending_examples.empty?
    output.puts
    output.puts "Pending:"
    pending_examples.each do |pending_example|
      output.puts yellow("  #{pending_example.full_description}")
      output.puts grey("    # #{pending_example.metadata[:execution_result][:pending_message]}")
      output.puts grey("    # #{format_caller(pending_example.metadata[:location])}")
    end
  end
end
dump_profile() click to toggle source
# File lib/rspec/core/formatters/base_text_formatter.rb, line 67
def dump_profile
  sorted_examples = examples.sort_by { |example| example.execution_result[:run_time] }.reverse.first(10)
  output.puts "\nTop #{sorted_examples.size} slowest examples:\n"
  sorted_examples.each do |example|
    output.puts "  #{example.full_description}"
    output.puts grey("    #{red(format_seconds(example.execution_result[:run_time]))} #{red("seconds")} #{format_caller(example.metadata[:location])}")
  end
end
dump_summary(duration, example_count, failure_count, pending_count) click to toggle source
# File lib/rspec/core/formatters/base_text_formatter.rb, line 59
def dump_summary(duration, example_count, failure_count, pending_count)
  super(duration, example_count, failure_count, pending_count)
  # Don't print out profiled info if there are failures, it just clutters the output
  dump_profile if profile_examples? && failure_count == 0
  output.puts "\nFinished in #{format_seconds(duration)} seconds\n"
  output.puts colorise_summary(summary_line(example_count, failure_count, pending_count))
end
message(message) click to toggle source
# File lib/rspec/core/formatters/base_text_formatter.rb, line 9
def message(message)
  output.puts message
end
summary_line(example_count, failure_count, pending_count) click to toggle source
# File lib/rspec/core/formatters/base_text_formatter.rb, line 76
def summary_line(example_count, failure_count, pending_count)
  summary = pluralize(example_count, "example")
  summary << ", " << pluralize(failure_count, "failure")
  summary << ", #{pending_count} pending" if pending_count > 0
  summary
end

Protected Instance Methods

blue(text) click to toggle source
# File lib/rspec/core/formatters/base_text_formatter.rb, line 129
def blue(text)
  color(text, "\e[34m")
end
bold(text) click to toggle source
# File lib/rspec/core/formatters/base_text_formatter.rb, line 105
def bold(text)
  color(text, "\e[1m")
end
color(text, color_code) click to toggle source
# File lib/rspec/core/formatters/base_text_formatter.rb, line 101
def color(text, color_code)
  color_enabled? ? "#{color_code}#{text}\e[0m" : text
end
green(text) click to toggle source
# File lib/rspec/core/formatters/base_text_formatter.rb, line 113
def green(text)
  color(text, "\e[32m")
end
grey(text) click to toggle source
# File lib/rspec/core/formatters/base_text_formatter.rb, line 133
def grey(text)
  color(text, "\e[90m")
end
magenta(text) click to toggle source
# File lib/rspec/core/formatters/base_text_formatter.rb, line 121
def magenta(text)
  color(text, "\e[35m")
end
red(text) click to toggle source
# File lib/rspec/core/formatters/base_text_formatter.rb, line 117
def red(text)
  color(text, "\e[31m")
end
white(text) click to toggle source
# File lib/rspec/core/formatters/base_text_formatter.rb, line 109
def white(text)
  color(text, "\e[37m")
end
yellow(text) click to toggle source
# File lib/rspec/core/formatters/base_text_formatter.rb, line 125
def yellow(text)
  color(text, "\e[33m")
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.