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, #separator, #summary_percent, #table_image_for
Constructor Details
#initialize(feature, parent_filename) ⇒ ReportFeature
Returns a new instance of ReportFeature.
88
89
90
91
92
93
94
|
# File 'lib/pretty_face/formatter/report.rb', line 88
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.
85
86
87
|
# File 'lib/pretty_face/formatter/report.rb', line 85
def background
@background
end
|
#description ⇒ Object
Returns the value of attribute description.
85
86
87
|
# File 'lib/pretty_face/formatter/report.rb', line 85
def description
@description
end
|
#duration ⇒ Object
Returns the value of attribute duration.
86
87
88
|
# File 'lib/pretty_face/formatter/report.rb', line 86
def duration
@duration
end
|
#file ⇒ Object
Returns the value of attribute file.
86
87
88
|
# File 'lib/pretty_face/formatter/report.rb', line 86
def file
@file
end
|
#parent_filename ⇒ Object
Returns the value of attribute parent_filename.
86
87
88
|
# File 'lib/pretty_face/formatter/report.rb', line 86
def parent_filename
@parent_filename
end
|
#scenarios ⇒ Object
Returns the value of attribute scenarios.
85
86
87
|
# File 'lib/pretty_face/formatter/report.rb', line 85
def scenarios
@scenarios
end
|
#start_time ⇒ Object
Returns the value of attribute start_time.
86
87
88
|
# File 'lib/pretty_face/formatter/report.rb', line 86
def start_time
@start_time
end
|
#title ⇒ Object
Returns the value of attribute title.
86
87
88
|
# File 'lib/pretty_face/formatter/report.rb', line 86
def title
@title
end
|
Instance Method Details
#background_steps ⇒ Object
114
115
116
|
# File 'lib/pretty_face/formatter/report.rb', line 114
def background_steps
@background.find_all { |step| step.keyword }
end
|
#background_title ⇒ Object
110
111
112
|
# File 'lib/pretty_face/formatter/report.rb', line 110
def background_title
title = @background.find { |step| step.keyword.nil? }
end
|
#close(feature) ⇒ Object
96
97
98
99
100
101
102
|
# File 'lib/pretty_face/formatter/report.rb', line 96
def close(feature)
@title = feature.title
@duration = Time.now - start_time
a_file = feature.file.sub(/\.feature/, '.html')
to_cut = a_file.split(separator).first
@file = a_file.sub("#{to_cut}#{separator}", '')
end
|
#description? ⇒ Boolean
147
148
149
|
# File 'lib/pretty_face/formatter/report.rb', line 147
def description?
!description.nil? && !description.empty?
end
|
#get_binding ⇒ Object
143
144
145
|
# File 'lib/pretty_face/formatter/report.rb', line 143
def get_binding
binding
end
|
#has_background? ⇒ Boolean
151
152
153
|
# File 'lib/pretty_face/formatter/report.rb', line 151
def has_background?
background.length > 0
end
|
#scenario_average_duration ⇒ Object
132
133
134
135
|
# File 'lib/pretty_face/formatter/report.rb', line 132
def scenario_average_duration
durations = scenarios.collect { |scenario| scenario.duration }
formatted_duration(durations.reduce(:+).to_f / durations.size)
end
|
#scenario_summary_for(status) ⇒ Object
122
123
124
125
|
# File 'lib/pretty_face/formatter/report.rb', line 122
def scenario_summary_for(status)
scenarios_with_status = scenarios_for(status)
summary_percent(scenarios_with_status.length, scenarios.length)
end
|
#scenarios_for(status) ⇒ Object
118
119
120
|
# File 'lib/pretty_face/formatter/report.rb', line 118
def scenarios_for(status)
scenarios.find_all { |scenario| scenario.status == status }
end
|
#step_average_duration ⇒ Object
137
138
139
140
141
|
# File 'lib/pretty_face/formatter/report.rb', line 137
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
127
128
129
130
|
# File 'lib/pretty_face/formatter/report.rb', line 127
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
104
105
106
107
108
|
# File 'lib/pretty_face/formatter/report.rb', line 104
def steps
steps = []
scenarios.each { |scenario| steps += scenario.steps }
steps
end
|