Sha256: 7b7dba8b667f4a283cb263bc576c6647d1c150a5b1355d70775a665da5eeaeda
Contents?: true
Size: 1.45 KB
Versions: 11
Compression:
Stored size: 1.45 KB
Contents
require 'cucumber/formatter/console' module Cucumber module Formatter 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
11 entries across 11 versions & 4 rubygems