Sha256: f1317ca4e07f05df2488ad3cdeac2c0dba190fef9e9884af25a7804211483ecc
Contents?: true
Size: 1.5 KB
Versions: 22
Compression:
Stored size: 1.5 KB
Contents
require 'cucumber/formatter/console' module Cucumber module Formatter # The formatter used for <tt>--format progress</tt> class Progress < Ast::Visitor include Console def initialize(step_mother, io, options) super(step_mother) @io = io @options = options end def visit_features(features) super @io.puts @io.puts print_summary(features) end def visit_feature_element(feature_element) record_tag_occurrences(feature_element, @options) super end def visit_step_result(keyword, step_match, multiline_arg, status, exception, source_indent, background) progress(status) @status = status end def visit_table_cell_value(value, status) status ||= @status progress(status) unless table_header_cell?(status) end private def print_summary(features) print_steps(:pending) print_steps(:failed) print_stats(features) print_snippets(@options) print_passing_wip(@options) print_tag_limit_warnings(@options) end CHARS = { :passed => '.', :failed => 'F', :undefined => 'U', :pending => 'P', :skipped => '-' } def progress(status) char = CHARS[status] @io.print(format_string(char, status)) @io.flush end def table_header_cell?(status) status == :skipped_param end end end end
Version data entries
22 entries across 22 versions & 5 rubygems