Class: Cucumber::Formatter::ConsoleIssues

Inherits:
Object
  • Object
show all
Includes:
Console
Defined in:
lib/cucumber/formatter/console_issues.rb

Constant Summary

Constants included from ANSIColor

ANSIColor::ALIASES

Constants included from Term::ANSIColor

Term::ANSIColor::ATTRIBUTES, Term::ANSIColor::ATTRIBUTE_NAMES, Term::ANSIColor::COLORED_REGEXP

Instance Method Summary collapse

Methods included from Console

#attach, #collect_snippet_data, #collect_undefined_parameter_type_names, #do_print_passing_wip, #do_print_profile_information, #do_print_snippets, #do_print_undefined_parameter_type_snippet, #exception_message_string, #format_step, #format_string, #indent, #linebreaks, #print_element_messages, #print_elements, #print_exception, #print_passing_wip, #print_profile_information, #print_snippets, #print_statistics

Methods included from ANSIColor

apply_custom_colors, #cukes, #green_cukes, #red_cukes, #yellow_cukes

Methods included from Term::ANSIColor

#attributes, included, #uncolored

Methods included from Duration

#format_duration

Constructor Details

#initialize(config, ast_lookup = AstLookup.new(config)) ⇒ ConsoleIssues

Returns a new instance of ConsoleIssues.

 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
# File 'lib/cucumber/formatter/console_issues.rb', line 10 def initialize(config, ast_lookup = AstLookup.new(config)) @previous_test_case = nil @issues = Hash.new { |h, k| h[k] = [] } @config = config @config.on_event(:test_case_finished) do |event| if event.test_case != @previous_test_case @previous_test_case = event.test_case @issues[event.result.to_sym] << event.test_case unless event.result.ok?(strict: @config.strict) elsif event.result.passed? @issues[:flaky] << event.test_case unless Core::Test::Result::Flaky.ok?(strict: @config.strict.strict?(:flaky)) @issues[:failed].delete(event.test_case) end end @ast_lookup = ast_lookup end

Instance Method Details

#any?Boolean

Returns:

  • (Boolean)
 33 34 35
# File 'lib/cucumber/formatter/console_issues.rb', line 33 def any? @issues.any? end

#to_sObject

 26 27 28 29 30 31
# File 'lib/cucumber/formatter/console_issues.rb', line 26 def to_s return if @issues.empty? result = Core::Test::Result::TYPES.map { |type| scenario_listing(type, @issues[type]) } result.flatten.join("\n") end