Class: PrettyFace::Formatter::ReportFeature
- Inherits:
-
Object
- Object
- PrettyFace::Formatter::ReportFeature
show all
- Includes:
- Formatting
- Defined in:
- lib/pretty_face/formatter/report.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods included from Formatting
#directory_prefix_for, #formatted_duration, #image_tag_for, #summary_percent, #table_image_for
Constructor Details
#initialize(feature, parent_filename) ⇒ ReportFeature
Returns a new instance of ReportFeature.
82
83
84
85
86
87
88
|
# File 'lib/pretty_face/formatter/report.rb', line 82
def initialize(feature, parent_filename)
@scenarios = []
@background = []
@start_time = Time.now
@description = feature.description
@parent_filename = parent_filename
end
|
Instance Attribute Details
#background ⇒ Object
Returns the value of attribute background.
79
80
81
|
# File 'lib/pretty_face/formatter/report.rb', line 79
def background
@background
end
|
#description ⇒ Object
Returns the value of attribute description.
79
80
81
|
# File 'lib/pretty_face/formatter/report.rb', line 79
def description
@description
end
|
#duration ⇒ Object
Returns the value of attribute duration.
80
81
82
|
# File 'lib/pretty_face/formatter/report.rb', line 80
def duration
@duration
end
|
#file ⇒ Object
Returns the value of attribute file.
80
81
82
|
# File 'lib/pretty_face/formatter/report.rb', line 80
def file
@file
end
|
#parent_filename ⇒ Object
Returns the value of attribute parent_filename.
80
81
82
|
# File 'lib/pretty_face/formatter/report.rb', line 80
def parent_filename
@parent_filename
end
|
#scenarios ⇒ Object
Returns the value of attribute scenarios.
79
80
81
|
# File 'lib/pretty_face/formatter/report.rb', line 79
def scenarios
@scenarios
end
|
#start_time ⇒ Object
Returns the value of attribute start_time.
80
81
82
|
# File 'lib/pretty_face/formatter/report.rb', line 80
def start_time
@start_time
end
|
#title ⇒ Object
Returns the value of attribute title.
80
81
82
|
# File 'lib/pretty_face/formatter/report.rb', line 80
def title
@title
end
|
Instance Method Details
#background_steps ⇒ Object
108
109
110
|
# File 'lib/pretty_face/formatter/report.rb', line 108
def background_steps
@background.find_all { |step| step.keyword }
end
|
#background_title ⇒ Object
104
105
106
|
# File 'lib/pretty_face/formatter/report.rb', line 104
def background_title
title = @background.find { |step| step.keyword.nil? }
end
|
#close(feature) ⇒ Object
90
91
92
93
94
95
96
|
# File 'lib/pretty_face/formatter/report.rb', line 90
def close(feature)
@title = feature.title
@duration = Time.now - start_time
a_file = feature.file.sub(/\.feature/, '.html')
to_cut = a_file.split('/').first
@file = a_file.sub("#{to_cut}/", '')
end
|
#description? ⇒ Boolean
141
142
143
|
# File 'lib/pretty_face/formatter/report.rb', line 141
def description?
!description.nil? && !description.empty?
end
|
#get_binding ⇒ Object
137
138
139
|
# File 'lib/pretty_face/formatter/report.rb', line 137
def get_binding
binding
end
|
#has_background? ⇒ Boolean
145
146
147
|
# File 'lib/pretty_face/formatter/report.rb', line 145
def has_background?
background.length > 0
end
|
#scenario_average_duration ⇒ Object
126
127
128
129
|
# File 'lib/pretty_face/formatter/report.rb', line 126
def scenario_average_duration
durations = scenarios.collect { |scenario| scenario.duration }
formatted_duration(durations.reduce(:+).to_f / durations.size)
end
|
#scenario_summary_for(status) ⇒ Object
116
117
118
119
|
# File 'lib/pretty_face/formatter/report.rb', line 116
def scenario_summary_for(status)
scenarios_with_status = scenarios_for(status)
summary_percent(scenarios_with_status.length, scenarios.length)
end
|
#scenarios_for(status) ⇒ Object
112
113
114
|
# File 'lib/pretty_face/formatter/report.rb', line 112
def scenarios_for(status)
scenarios.find_all { |scenario| scenario.status == status }
end
|
#step_average_duration ⇒ Object
131
132
133
134
135
|
# File 'lib/pretty_face/formatter/report.rb', line 131
def step_average_duration
steps = scenarios.collect { |scenario| scenario.steps }
durations = steps.flatten.collect { |step| step.duration }
formatted_duration(durations.reduce(:+).to_f / durations.size)
end
|
#step_summary_for(status) ⇒ Object
121
122
123
124
|
# File 'lib/pretty_face/formatter/report.rb', line 121
def step_summary_for(status)
steps_with_status = steps.find_all { |step| step.status == status }
summary_percent(steps_with_status.length, steps.length)
end
|
#steps ⇒ Object
98
99
100
101
102
|
# File 'lib/pretty_face/formatter/report.rb', line 98
def steps
steps = []
scenarios.each { |scenario| steps += scenario.steps }
steps
end
|