Class: Cucumber::Formatter::Rerun
Instance Attribute Summary
Attributes inherited from Ast::Visitor
#options
Instance Method Summary
collapse
#current_feature_lines, #current_feature_lines=, #new_world, #step_definition, #visit_background, #visit_comment, #visit_comment_line, #visit_examples, #visit_examples_name, #visit_feature, #visit_feature_name, #visit_multiline_arg, #visit_outline_table, #visit_py_string, #visit_scenario_name, #visit_step, #visit_steps, #visit_table_cell, #visit_table_cell_value, #visit_table_row, #visit_tag_name, #visit_tags, #world
Constructor Details
#initialize(step_mother, io, options) ⇒ Rerun
Returns a new instance of Rerun.
4
5
6
7
8
9
|
# File 'lib/cucumber/formatter/rerun.rb', line 4
def initialize(step_mother, io, options)
super(step_mother)
@io = io
@file_names = []
@file_lines = Hash.new{|h,k| h[k] = []}
end
|
Instance Method Details
#announce(announcement) ⇒ Object
34
35
|
# File 'lib/cucumber/formatter/rerun.rb', line 34
def announce(announcement)
end
|
#visit_feature_element(feature_element) ⇒ Object
20
21
22
23
24
25
26
27
28
|
# File 'lib/cucumber/formatter/rerun.rb', line 20
def visit_feature_element(feature_element)
@rerun = false
super
if @rerun
file, line = *feature_element.file_line.split(':')
@file_lines[file] << line
@file_names << file
end
end
|
#visit_features(features) ⇒ Object
11
12
13
14
15
16
17
18
|
# File 'lib/cucumber/formatter/rerun.rb', line 11
def visit_features(features)
super
files = @file_names.uniq.map do |file|
lines = @file_lines[file]
"#{file}:#{lines.join(':')}"
end
@io.puts files.join(' ')
end
|
#visit_step_name(keyword, step_name, status, step_definition, source_indent) ⇒ Object
30
31
32
|
# File 'lib/cucumber/formatter/rerun.rb', line 30
def visit_step_name(keyword, step_name, status, step_definition, source_indent)
@rerun = true if [:failed].index(status)
end
|