lib/cucumber/formatter/rerun.rb in aslakhellesoy-cucumber-0.3.102.2 vs lib/cucumber/formatter/rerun.rb in aslakhellesoy-cucumber-0.3.103

- old
+ new

@@ -8,38 +8,37 @@ # features/foo.feature:34 features/bar.feature:11:76:81 # # This formatter is used by AutoTest - it will use the output to decide what # to run the next time, simply passing the output string on the command line. # - class Rerun < Ast::Visitor + class Rerun def initialize(step_mother, io, options) - super(step_mother) @io = io @options = options @file_names = [] @file_colon_lines = Hash.new{|h,k| h[k] = []} end - def visit_features(features) + def features(features) super files = @file_names.uniq.map do |file| lines = @file_colon_lines[file] "#{file}:#{lines.join(':')}" end @io.puts files.join(' ') end - def visit_feature_element(feature_element) + def feature_element(feature_element) @rerun = false super if @rerun file, line = *feature_element.file_colon_line.split(':') @file_colon_lines[file] << line @file_names << file end end - def visit_step_name(keyword, step_match, status, source_indent, background) + def step_name(keyword, step_match, status, source_indent, background) @rerun = true if [:failed].index(status) end end end end