Sha256: be90468c74811874f5777a8823e991c1ec6c798090f63edf32bee5231e6e62a0

Contents?: true

Size: 1.52 KB

Versions: 24

Compression:

Stored size: 1.52 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)
        with_color do
          super
          @io.puts
          @io.puts
          print_summary(features)
        end
      end

      def visit_multiline_arg(multiline_arg, status)
        @multiline_arg = true
        super
        @multiline_arg = false
      end

      def visit_feature_element(feature_element)
        progress(:undefined) if feature_element.undefined?
        super
      end

      def visit_step_name(keyword, step_name, status, step_definition, source_indent)
        progress(status) unless status == :outline
      end

      def visit_table_cell_value(value, width, status)
        progress(status) if (status != :thead) && !@multiline_arg
      end
      
      private

      def print_summary(features)
        print_undefined_scenarios(features)
        print_steps(features, :pending)
        print_steps(features, :failed)
        print_counts(features)
        print_snippets(features, @options)
      end

      CHARS = {
        :passed    => '.',
        :failed    => 'F',
        :undefined => 'U',
        :pending   => 'P',
        :skipped   => 'S'
      }

      def progress(status)
        char = CHARS[status]
        @io.print(format_string(char, status))
        @io.flush
      end
      
    end
  end
end

Version data entries

24 entries across 24 versions & 2 rubygems

Version Path
aslakhellesoy-cucumber-0.1.16.5 lib/cucumber/formatter/progress.rb
aslakhellesoy-cucumber-0.1.99.1 lib/cucumber/formatter/progress.rb
aslakhellesoy-cucumber-0.1.99.10 lib/cucumber/formatter/progress.rb
aslakhellesoy-cucumber-0.1.99.11 lib/cucumber/formatter/progress.rb
aslakhellesoy-cucumber-0.1.99.12 lib/cucumber/formatter/progress.rb
aslakhellesoy-cucumber-0.1.99.13 lib/cucumber/formatter/progress.rb
aslakhellesoy-cucumber-0.1.99.14 lib/cucumber/formatter/progress.rb
aslakhellesoy-cucumber-0.1.99.15 lib/cucumber/formatter/progress.rb
aslakhellesoy-cucumber-0.1.99.17 lib/cucumber/formatter/progress.rb
aslakhellesoy-cucumber-0.1.99.18 lib/cucumber/formatter/progress.rb
aslakhellesoy-cucumber-0.1.99.19 lib/cucumber/formatter/progress.rb
aslakhellesoy-cucumber-0.1.99.2 lib/cucumber/formatter/progress.rb
aslakhellesoy-cucumber-0.1.99.20 lib/cucumber/formatter/progress.rb
aslakhellesoy-cucumber-0.1.99.21 lib/cucumber/formatter/progress.rb
aslakhellesoy-cucumber-0.1.99.22 lib/cucumber/formatter/progress.rb
aslakhellesoy-cucumber-0.1.99.23 lib/cucumber/formatter/progress.rb
aslakhellesoy-cucumber-0.1.99.3 lib/cucumber/formatter/progress.rb
aslakhellesoy-cucumber-0.1.99.5 lib/cucumber/formatter/progress.rb
aslakhellesoy-cucumber-0.1.99.6 lib/cucumber/formatter/progress.rb
aslakhellesoy-cucumber-0.1.99.7 lib/cucumber/formatter/progress.rb