pretty_face 0.4 → 0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/ChangeLog +6 -0
- data/Gemfile +2 -1
- data/README.md +17 -3
- data/features/feature_pages.feature +8 -2
- data/features/step_definitions/report_steps.rb +12 -0
- data/features/support/env.rb +8 -1
- data/features/support/error_display.rb +16 -0
- data/lib/pretty_face/formatter/html.rb +1 -1
- data/lib/pretty_face/formatter/report.rb +65 -0
- data/lib/pretty_face/templates/_step.erb +46 -41
- data/lib/pretty_face/templates/feature.erb +14 -53
- data/lib/pretty_face/templates/style.css +108 -8
- data/lib/pretty_face/version.rb +1 -1
- data/pretty_face.gemspec +4 -2
- metadata +41 -31
- data/.rvmrc +0 -1
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 9eeaa80ce445692b64cc177ab61914981f99195e
|
4
|
+
data.tar.gz: 07b5e419aaf7a8915c8001feda76d00f3f2dd279
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 2e6d702f801dd887938086b978c8f96853fd2e66744a55aac81a67cd6bff58242ae75b5820fb1860df320f36c4bc57b64396575940b9f46c000dd41abe5bbf97
|
7
|
+
data.tar.gz: 526f55dc3f05b52d0025c7906c8a0fc4f2acd58e15a63922e5e154a6c22efded7b2d97c05406104ce0ecfae9f5641bd085c171131cf6ba750caad29e4a300894
|
data/.ruby-gemset
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
testgen
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
ruby-2.0.0-p195
|
data/ChangeLog
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
=== Release 0.5 / 2013-7-19
|
2
|
+
* Updated ReadMe
|
3
|
+
* Displaying step definition on step failure
|
4
|
+
* Added color to scenario headers indicating status
|
5
|
+
* Changed styling of scenario reporting
|
6
|
+
|
1
7
|
=== Release 0.4 / 2013-4-13
|
2
8
|
* Make replacement items optional
|
3
9
|
* Updated actionpack dependency to the latest version 3.2.13
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,11 +1,25 @@
|
|
1
1
|
# pretty_face
|
2
2
|
|
3
|
-
HTML report for cucumber
|
3
|
+
HTML report for cucumber. You can customize the report by editing an erb file.
|
4
4
|
|
5
|
-
The current release is very basic but you can expect a lot more over the next month or so.
|
5
|
+
The current release is very basic but you can expect a lot more over the next month or so.
|
6
|
+
|
7
|
+
## Getting Started
|
8
|
+
|
9
|
+
### Download gem
|
10
|
+
Add the gem to your Gemfile
|
11
|
+
|
12
|
+
`gem 'pretty_face'`
|
13
|
+
|
14
|
+
Then do a `bundle update` to get the latest version
|
15
|
+
|
16
|
+
### Add Formatter
|
17
|
+
Update your profile in cucumber.yml file with the following arguments
|
6
18
|
|
7
19
|
--format PrettyFace::Formatter::Html --out index.html
|
8
|
-
|
20
|
+
|
21
|
+
You can also run cucumber from the command line with the same arguments.
|
22
|
+
|
9
23
|
## Customizing the report
|
10
24
|
|
11
25
|
Starting with version 0.3 of the gem you can customize some elements on the report. You will do this by first creating a directory named `pretty_face` in the `features/support` directory. Customization files should be placed in this directory.
|
@@ -69,8 +69,14 @@ Feature: pages that show details for features
|
|
69
69
|
|
70
70
|
Scenario: It should display errors for features
|
71
71
|
Then the file "results/basic.html" should contain "RSpec::Expectations::ExpectationNotMetError"
|
72
|
-
|
73
|
-
|
72
|
+
And the file "results/advanced.html" should contain "RSpec::Expectations::ExpectationNotMetError"
|
73
|
+
And the file "results/failing_background.html" should contain "RSpec::Expectations::ExpectationNotMetError"
|
74
|
+
|
75
|
+
@focus
|
76
|
+
Scenario: It should display error message with a yellow background and red text
|
77
|
+
Then the file "results/basic.html" should contain "RSpec::Expectations::ExpectationNotMetError"
|
78
|
+
And the background of the error message row should be "255, 251, 211"
|
79
|
+
And the text of the of the error message row should be "194, 0, 0"
|
74
80
|
|
75
81
|
Scenario: Embedding an image into the page
|
76
82
|
Then the file "results/basic.html" should contain "<img id='img_0' style='display: none' src='images/autotrader.png'/>"
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'fileutils'
|
2
2
|
|
3
|
+
|
3
4
|
When /^I have a logo file in the correct location$/ do
|
4
5
|
FileUtils.cp "features/support/logo.png", "features/support/pretty_face/"
|
5
6
|
end
|
@@ -23,3 +24,14 @@ end
|
|
23
24
|
Then /^I should remove the feature header partial file$/ do
|
24
25
|
FileUtils.rm "features/support/pretty_face/_feature_header.erb"
|
25
26
|
end
|
27
|
+
|
28
|
+
Then(/^the background of the error message row should be "(.*?)"$/) do |background|
|
29
|
+
@browser = Watir::Browser.new :firefox
|
30
|
+
visit ErrorDisplay do |page|
|
31
|
+
page.error_background.should include background
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
Then(/^the text of the of the error message row should be "(.*?)"$/) do |color|
|
36
|
+
on(ErrorDisplay).error_text_color.should include color
|
37
|
+
end
|
data/features/support/env.rb
CHANGED
@@ -1,9 +1,16 @@
|
|
1
1
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '../../', 'lib'))
|
2
2
|
|
3
3
|
require 'aruba/cucumber'
|
4
|
-
|
4
|
+
require 'page-object'
|
5
5
|
require 'pretty_face'
|
6
|
+
require 'watir-webdriver'
|
7
|
+
|
8
|
+
World PageObject::PageFactory
|
6
9
|
|
7
10
|
Before do
|
8
11
|
@dirs = [File.join(File.dirname(__FILE__), '..', '..')]
|
9
12
|
end
|
13
|
+
|
14
|
+
After do
|
15
|
+
@browser.close if @browser
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
class ErrorDisplay
|
2
|
+
include PageObject
|
3
|
+
|
4
|
+
page_url "file://#{File.dirname(__FILE__)}/../../results/basic.html"
|
5
|
+
|
6
|
+
element(:error, :tr, :class => 'error')
|
7
|
+
|
8
|
+
def error_background
|
9
|
+
error_element.style('background-color')
|
10
|
+
end
|
11
|
+
|
12
|
+
def error_text_color
|
13
|
+
error_element.style('color')
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
@@ -191,9 +191,74 @@ module PrettyFace
|
|
191
191
|
def has_table?
|
192
192
|
not table.nil?
|
193
193
|
end
|
194
|
+
|
194
195
|
def has_multiline_arg?
|
195
196
|
!multiline_arg.nil? && !has_table?
|
196
197
|
end
|
198
|
+
|
199
|
+
def file_with_error(file_colon_line)
|
200
|
+
@snippet_extractor ||= SnippetExtractor.new
|
201
|
+
file, line = @snippet_extractor.file_name_and_line(file_colon_line)
|
202
|
+
file
|
203
|
+
end
|
204
|
+
|
205
|
+
#from cucumber ===================
|
206
|
+
def extra_failure_content(file_colon_line)
|
207
|
+
@snippet_extractor ||= SnippetExtractor.new
|
208
|
+
@snippet_extractor.snippet(file_colon_line)
|
209
|
+
end
|
210
|
+
|
211
|
+
class SnippetExtractor
|
212
|
+
require 'syntax/convertors/html';
|
213
|
+
@@converter = Syntax::Convertors::HTML.for_syntax "ruby"
|
214
|
+
|
215
|
+
def file_name_and_line(error_line)
|
216
|
+
if error_line =~ /(.*):(\d+)/
|
217
|
+
file = $1
|
218
|
+
line = $2.to_i
|
219
|
+
[file, line]
|
220
|
+
end
|
221
|
+
end
|
222
|
+
|
223
|
+
def snippet(error)
|
224
|
+
raw_code, line, file = snippet_for(error[0])
|
225
|
+
highlighted = @@converter.convert(raw_code, false)
|
226
|
+
|
227
|
+
"<pre class=\"ruby\"><strong>#{file + "\n"}</strong><code>#{post_process(highlighted, line)}</code></pre>"
|
228
|
+
end
|
229
|
+
|
230
|
+
def snippet_for(error_line)
|
231
|
+
file, line = file_name_and_line(error_line)
|
232
|
+
if file
|
233
|
+
[lines_around(file, line), line, file]
|
234
|
+
else
|
235
|
+
["# Couldn't get snippet for #{error_line}", 1]
|
236
|
+
end
|
237
|
+
end
|
238
|
+
|
239
|
+
def lines_around(file, line)
|
240
|
+
if File.file?(file)
|
241
|
+
lines = File.open(file).read.split("\n")
|
242
|
+
min = [0, line-3].max
|
243
|
+
max = [line+1, lines.length-1].min
|
244
|
+
selected_lines = []
|
245
|
+
selected_lines.join("\n")
|
246
|
+
lines[min..max].join("\n")
|
247
|
+
else
|
248
|
+
"# Couldn't get snippet for #{file}"
|
249
|
+
end
|
250
|
+
end
|
251
|
+
|
252
|
+
def post_process(highlighted, offending_line)
|
253
|
+
new_lines = []
|
254
|
+
highlighted.split("\n").each_with_index do |line, i|
|
255
|
+
new_line = "<span class=\"linenum\">#{offending_line+i-2}</span>#{line}"
|
256
|
+
new_line = "<span class=\"offending\">#{new_line}</span>" if i == 2
|
257
|
+
new_lines << new_line
|
258
|
+
end
|
259
|
+
new_lines.join("\n")
|
260
|
+
end
|
261
|
+
end
|
197
262
|
end
|
198
263
|
end
|
199
264
|
end
|
@@ -1,41 +1,46 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
1
|
+
<%= "#{step.keyword} #{step.name}" %>
|
2
|
+
<% if step.has_table? %>
|
3
|
+
<br />
|
4
|
+
<table border="1" class="param_table">
|
5
|
+
<tr>
|
6
|
+
<% step.table.first.each do |column| %>
|
7
|
+
<th><%= column %></th>
|
8
|
+
<% end %>
|
9
|
+
</tr>
|
10
|
+
<% step.table.delete_at 0 %>
|
11
|
+
<% step.table.each do |row| %>
|
12
|
+
<tr>
|
13
|
+
<% row.each do |column| %>
|
14
|
+
<td><%= column %></td>
|
15
|
+
<% end %>
|
16
|
+
</tr>
|
17
|
+
<% end %>
|
18
|
+
</table>
|
19
|
+
<% end %>
|
20
|
+
<% if step.has_multiline_arg? %>
|
21
|
+
<br />
|
22
|
+
<table border="1" class="multiline_arg">
|
23
|
+
<tr>
|
24
|
+
<td><pre><%= step.multiline_arg %></pre></td>
|
25
|
+
</tr>
|
26
|
+
</table>
|
27
|
+
<% end %>
|
28
|
+
<% if step.failed_with_error? %>
|
29
|
+
<table>
|
30
|
+
<tr class="error">
|
31
|
+
<td class="message">
|
32
|
+
<strong><pre><%= "#{step.error.message} (#{step.error.class})" %></pre></strong>
|
33
|
+
</td>
|
34
|
+
</tr>
|
35
|
+
<tr>
|
36
|
+
<td>
|
37
|
+
<%= raw(step.extra_failure_content(step.error.backtrace)) %>
|
38
|
+
</td>
|
39
|
+
</tr>
|
40
|
+
<tr >
|
41
|
+
<td class="detail">
|
42
|
+
<pre><%= step.error.backtrace.join("\n") %></pre>
|
43
|
+
</td>
|
44
|
+
</tr>
|
45
|
+
</table>
|
46
|
+
<% end %>
|
@@ -33,7 +33,7 @@
|
|
33
33
|
<tr>
|
34
34
|
<th></th>
|
35
35
|
<th>Executed</th>
|
36
|
-
|
36
|
+
<th >Passed</th>
|
37
37
|
<th>Failed</th>
|
38
38
|
<th>Skipped</th>
|
39
39
|
<th>Undefined</th>
|
@@ -43,7 +43,7 @@
|
|
43
43
|
<tr>
|
44
44
|
<td class="summary_row_header">Scenarios</td>
|
45
45
|
<td><%= feature.scenarios.length %></td>
|
46
|
-
<td><%= feature.scenario_summary_for :passed %></td>
|
46
|
+
<td class="summary"><%= feature.scenario_summary_for :passed %></td>
|
47
47
|
<td><%= feature.scenario_summary_for :failed %></td>
|
48
48
|
<td><%= feature.scenario_summary_for :skipped %></td>
|
49
49
|
<td><%= feature.scenario_summary_for :undefined %></td>
|
@@ -63,17 +63,17 @@
|
|
63
63
|
</table>
|
64
64
|
</div>
|
65
65
|
|
66
|
-
<div style="width:
|
66
|
+
<div style="width: 60%; float: left;">
|
67
67
|
<% if feature.has_background? %>
|
68
68
|
<br />
|
69
69
|
<h2 class="failures">Background: <%= feature.background_title.name %></h2>
|
70
70
|
<% end %>
|
71
|
-
<table cellspacing="0" cellpadding="7" border="0"
|
71
|
+
<table cellspacing="0" cellpadding="7" border="0" width="100%">
|
72
72
|
<% feature.background_steps.each do |step| %>
|
73
73
|
<tr>
|
74
74
|
<td><%= raw(feature.image_tag_for(step.status, feature.file)) %></td>
|
75
75
|
<td>
|
76
|
-
<%= render "step", :
|
76
|
+
<%= render "step", step: step %>
|
77
77
|
</td>
|
78
78
|
</tr>
|
79
79
|
<% end %>
|
@@ -82,57 +82,18 @@
|
|
82
82
|
<h2 class="failures">Scenarios:</h2>
|
83
83
|
<br />
|
84
84
|
<% feature.scenarios.each do |scenario| %>
|
85
|
-
<table cellspacing="0" cellpadding="7"
|
86
|
-
|
87
|
-
<th
|
88
|
-
<th><%= scenario.name %></th>
|
85
|
+
<table cellspacing="0" cellpadding="7" class="scenario" width="100%">
|
86
|
+
<tr >
|
87
|
+
<th colspan="2" class="<%= scenario.status.to_s %>"><%= scenario.name %></th>
|
89
88
|
</tr>
|
90
89
|
<% scenario.steps.each do |step| %>
|
91
|
-
|
92
|
-
<td> <%= raw(feature.image_tag_for(step.status, feature.file)) %></td>
|
93
|
-
|
94
|
-
|
95
|
-
<% if step.has_table? %>
|
96
|
-
<br />
|
97
|
-
<table class="param_table">
|
98
|
-
<tr>
|
99
|
-
<% step.table.first.each do |column| %>
|
100
|
-
<th><%= column %></th>
|
101
|
-
<% end %>
|
102
|
-
</tr>
|
103
|
-
<% step.table.delete_at 0 %>
|
104
|
-
<% step.table.each do |row| %>
|
105
|
-
<tr>
|
106
|
-
<% row.each do |column| %>
|
107
|
-
<td><%= column %></td>
|
108
|
-
<% end %>
|
109
|
-
</tr>
|
110
|
-
<% end %>
|
111
|
-
</table>
|
112
|
-
<% end %>
|
113
|
-
<% if step.has_multiline_arg? %>
|
114
|
-
<br />
|
115
|
-
<div class="multiline_arg">
|
116
|
-
<pre><code><%= step.multiline_arg %></code></pre>
|
117
|
-
</div>
|
118
|
-
<% end %>
|
119
|
-
<% if step.failed_with_error? %>
|
120
|
-
<table>
|
121
|
-
<tr class="error message">
|
122
|
-
<td>
|
123
|
-
<%= "#{step.error.message} (#{step.error.class})" %>
|
124
|
-
</td>
|
125
|
-
</tr>
|
126
|
-
<tr class="error detail">
|
127
|
-
<td>
|
128
|
-
<pre><%= step.error.backtrace.join("\n") %></pre>
|
129
|
-
</td>
|
130
|
-
</tr>
|
131
|
-
</table>
|
132
|
-
<% end %>
|
90
|
+
<tr class="borderSeparator">
|
91
|
+
<td class="image_tag"> <%= raw(feature.image_tag_for(step.status, feature.file)) %></td>
|
92
|
+
<td>
|
93
|
+
<%= render "step", step: step %>
|
133
94
|
</td>
|
134
|
-
|
135
|
-
|
95
|
+
</tr>
|
96
|
+
<% end %>
|
136
97
|
</table>
|
137
98
|
<% if scenario.has_image? %>
|
138
99
|
<a href='' onclick="img=document.getElementById('<%= scenario.image_id %>'); img.style.display = (img.style.display == 'none' ? 'block' : 'none');return false"><%= "#{scenario.image_label}" %></a><br />
|
@@ -44,8 +44,23 @@ h2 {
|
|
44
44
|
text-align: inherit;
|
45
45
|
width: inherit;
|
46
46
|
}
|
47
|
-
|
48
|
-
|
47
|
+
|
48
|
+
.failed {
|
49
|
+
background-color: #C20000;
|
50
|
+
color: white;
|
51
|
+
border-color: #333333;
|
52
|
+
}
|
53
|
+
.passed {
|
54
|
+
background-color: #3d7700;
|
55
|
+
color: white;
|
56
|
+
}
|
57
|
+
.pending {
|
58
|
+
background-color: #faf834;
|
59
|
+
|
60
|
+
}
|
61
|
+
.undefined {
|
62
|
+
background-color: #e0ffff;
|
63
|
+
|
49
64
|
}
|
50
65
|
.footer {
|
51
66
|
width: 100%;
|
@@ -85,7 +100,21 @@ h2 {
|
|
85
100
|
background-color: #F0F0F0;
|
86
101
|
font-size: 1em;
|
87
102
|
}
|
103
|
+
table.scenario {
|
104
|
+
border-width: 2px;
|
105
|
+
border-color: #cccccc;
|
106
|
+
border-style: solid;
|
107
|
+
border-collapse: collapse;
|
108
|
+
}
|
88
109
|
|
110
|
+
.borderSeparator {
|
111
|
+
border-top: 1px solid #ccc;
|
112
|
+
}
|
113
|
+
|
114
|
+
td.image_tag {
|
115
|
+
text-align: center;
|
116
|
+
vertical-align: text-top;
|
117
|
+
}
|
89
118
|
.description {
|
90
119
|
border: 1px dotted #CCCCCC;
|
91
120
|
border-radius: 8px 8px 8px 8px;
|
@@ -130,20 +159,91 @@ h2 {
|
|
130
159
|
}
|
131
160
|
|
132
161
|
.error {
|
133
|
-
color: #
|
134
|
-
background-color: #
|
162
|
+
color: #C20000;
|
163
|
+
background-color: #FFFBD3;
|
135
164
|
border-color: #eed3d7;
|
136
165
|
}
|
137
166
|
|
138
167
|
.message td {
|
139
|
-
padding:
|
168
|
+
padding: 5px;
|
140
169
|
font-weight: bold;
|
141
|
-
border-radius: 18px 18px 0px 0px;
|
142
170
|
}
|
143
171
|
|
144
172
|
.detail td {
|
145
173
|
margin-left: 10px;
|
146
|
-
padding:
|
147
|
-
|
174
|
+
padding: 7px;
|
175
|
+
font-weight: normal;
|
148
176
|
}
|
149
177
|
|
178
|
+
|
179
|
+
|
180
|
+
.ruby {
|
181
|
+
font-size: 12px;
|
182
|
+
font-family: monospace;
|
183
|
+
color: white;
|
184
|
+
background: black;
|
185
|
+
padding: 0.1em 0 0.2em 0;
|
186
|
+
}
|
187
|
+
.ruby .keyword {
|
188
|
+
color: #ff6600;
|
189
|
+
}
|
190
|
+
.ruby .constant {
|
191
|
+
color: #339999;
|
192
|
+
}
|
193
|
+
.ruby .attribute {
|
194
|
+
color: white;
|
195
|
+
}
|
196
|
+
.ruby .global {
|
197
|
+
color: white;
|
198
|
+
}
|
199
|
+
.ruby .module {
|
200
|
+
color: white;
|
201
|
+
}
|
202
|
+
.ruby .class {
|
203
|
+
color: white;
|
204
|
+
}
|
205
|
+
.ruby .string {
|
206
|
+
color: #66ff00;
|
207
|
+
}
|
208
|
+
.ruby .ident {
|
209
|
+
color: white;
|
210
|
+
}
|
211
|
+
.ruby .method {
|
212
|
+
color: #ffcc00;
|
213
|
+
}
|
214
|
+
.ruby .number {
|
215
|
+
color: white;
|
216
|
+
}
|
217
|
+
.ruby .char {
|
218
|
+
color: white;
|
219
|
+
}
|
220
|
+
.ruby .comment {
|
221
|
+
color: #9933cc;
|
222
|
+
}
|
223
|
+
.ruby .symbol {
|
224
|
+
color: white;
|
225
|
+
}
|
226
|
+
.ruby .regex {
|
227
|
+
color: #44b4cc;
|
228
|
+
}
|
229
|
+
.ruby .punct {
|
230
|
+
color: white;
|
231
|
+
}
|
232
|
+
.ruby .escape {
|
233
|
+
color: white;
|
234
|
+
}
|
235
|
+
.ruby .interp {
|
236
|
+
color: white;
|
237
|
+
}
|
238
|
+
.ruby .expr {
|
239
|
+
color: white;
|
240
|
+
}
|
241
|
+
.ruby .offending {
|
242
|
+
background: #333333;
|
243
|
+
}
|
244
|
+
.ruby .linenum {
|
245
|
+
width: 75px;
|
246
|
+
padding: 0.1em 1em 0.2em 0;
|
247
|
+
color: black;
|
248
|
+
background: #fffbd3;
|
249
|
+
}
|
data/lib/pretty_face/version.rb
CHANGED
data/pretty_face.gemspec
CHANGED
@@ -5,8 +5,9 @@ require "pretty_face/version"
|
|
5
5
|
Gem::Specification.new do |s|
|
6
6
|
s.name = "pretty_face"
|
7
7
|
s.version = PrettyFace::VERSION
|
8
|
-
s.
|
9
|
-
s.
|
8
|
+
s.license = 'MIT'
|
9
|
+
s.authors = ["Jeffrey S. Morgan", "Joel Byler", "Steve Jackson", "Sahithya Wintrich", "Carl Shotwell"]
|
10
|
+
s.email = ["jeff.morgan@leandog.com", "joelbyler@gmail.com", "steve.jackson@leandogsoftware.com", "sahithya.wintrich@gmail.com", "carl.shotwell@leandog.com"]
|
10
11
|
s.homepage = "http://github.com/cheezy/pretty_face"
|
11
12
|
s.summary = %q{HTML Report/Formatter for Cucumber and RSpec}
|
12
13
|
s.description = %q{HTML Report/Formatter for cucumber that allows user to modify erb in order to customize.}
|
@@ -19,6 +20,7 @@ Gem::Specification.new do |s|
|
|
19
20
|
s.require_paths = ["lib"]
|
20
21
|
|
21
22
|
s.add_dependency "actionpack", ">= 3.2.13"
|
23
|
+
s.add_dependency "syntax"
|
22
24
|
|
23
25
|
s.add_development_dependency "cucumber"
|
24
26
|
s.add_development_dependency "rspec"
|
metadata
CHANGED
@@ -1,96 +1,101 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pretty_face
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
5
|
-
prerelease:
|
4
|
+
version: '0.5'
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Jeffrey S. Morgan
|
9
8
|
- Joel Byler
|
10
9
|
- Steve Jackson
|
10
|
+
- Sahithya Wintrich
|
11
|
+
- Carl Shotwell
|
11
12
|
autorequire:
|
12
13
|
bindir: bin
|
13
14
|
cert_chain: []
|
14
|
-
date: 2013-
|
15
|
+
date: 2013-07-19 00:00:00.000000000 Z
|
15
16
|
dependencies:
|
16
17
|
- !ruby/object:Gem::Dependency
|
17
18
|
name: actionpack
|
18
19
|
requirement: !ruby/object:Gem::Requirement
|
19
|
-
none: false
|
20
20
|
requirements:
|
21
|
-
- -
|
21
|
+
- - '>='
|
22
22
|
- !ruby/object:Gem::Version
|
23
23
|
version: 3.2.13
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
26
|
version_requirements: !ruby/object:Gem::Requirement
|
27
|
-
none: false
|
28
27
|
requirements:
|
29
|
-
- -
|
28
|
+
- - '>='
|
30
29
|
- !ruby/object:Gem::Version
|
31
30
|
version: 3.2.13
|
31
|
+
- !ruby/object:Gem::Dependency
|
32
|
+
name: syntax
|
33
|
+
requirement: !ruby/object:Gem::Requirement
|
34
|
+
requirements:
|
35
|
+
- - '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
requirements:
|
42
|
+
- - '>='
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '0'
|
32
45
|
- !ruby/object:Gem::Dependency
|
33
46
|
name: cucumber
|
34
47
|
requirement: !ruby/object:Gem::Requirement
|
35
|
-
none: false
|
36
48
|
requirements:
|
37
|
-
- -
|
49
|
+
- - '>='
|
38
50
|
- !ruby/object:Gem::Version
|
39
51
|
version: '0'
|
40
52
|
type: :development
|
41
53
|
prerelease: false
|
42
54
|
version_requirements: !ruby/object:Gem::Requirement
|
43
|
-
none: false
|
44
55
|
requirements:
|
45
|
-
- -
|
56
|
+
- - '>='
|
46
57
|
- !ruby/object:Gem::Version
|
47
58
|
version: '0'
|
48
59
|
- !ruby/object:Gem::Dependency
|
49
60
|
name: rspec
|
50
61
|
requirement: !ruby/object:Gem::Requirement
|
51
|
-
none: false
|
52
62
|
requirements:
|
53
|
-
- -
|
63
|
+
- - '>='
|
54
64
|
- !ruby/object:Gem::Version
|
55
65
|
version: '0'
|
56
66
|
type: :development
|
57
67
|
prerelease: false
|
58
68
|
version_requirements: !ruby/object:Gem::Requirement
|
59
|
-
none: false
|
60
69
|
requirements:
|
61
|
-
- -
|
70
|
+
- - '>='
|
62
71
|
- !ruby/object:Gem::Version
|
63
72
|
version: '0'
|
64
73
|
- !ruby/object:Gem::Dependency
|
65
74
|
name: aruba
|
66
75
|
requirement: !ruby/object:Gem::Requirement
|
67
|
-
none: false
|
68
76
|
requirements:
|
69
|
-
- -
|
77
|
+
- - '>='
|
70
78
|
- !ruby/object:Gem::Version
|
71
79
|
version: '0'
|
72
80
|
type: :development
|
73
81
|
prerelease: false
|
74
82
|
version_requirements: !ruby/object:Gem::Requirement
|
75
|
-
none: false
|
76
83
|
requirements:
|
77
|
-
- -
|
84
|
+
- - '>='
|
78
85
|
- !ruby/object:Gem::Version
|
79
86
|
version: '0'
|
80
87
|
- !ruby/object:Gem::Dependency
|
81
88
|
name: cucumber
|
82
89
|
requirement: !ruby/object:Gem::Requirement
|
83
|
-
none: false
|
84
90
|
requirements:
|
85
|
-
- -
|
91
|
+
- - '>='
|
86
92
|
- !ruby/object:Gem::Version
|
87
93
|
version: '0'
|
88
94
|
type: :runtime
|
89
95
|
prerelease: false
|
90
96
|
version_requirements: !ruby/object:Gem::Requirement
|
91
|
-
none: false
|
92
97
|
requirements:
|
93
|
-
- -
|
98
|
+
- - '>='
|
94
99
|
- !ruby/object:Gem::Version
|
95
100
|
version: '0'
|
96
101
|
description: HTML Report/Formatter for cucumber that allows user to modify erb in
|
@@ -99,13 +104,16 @@ email:
|
|
99
104
|
- jeff.morgan@leandog.com
|
100
105
|
- joelbyler@gmail.com
|
101
106
|
- steve.jackson@leandogsoftware.com
|
107
|
+
- sahithya.wintrich@gmail.com
|
108
|
+
- carl.shotwell@leandog.com
|
102
109
|
executables: []
|
103
110
|
extensions: []
|
104
111
|
extra_rdoc_files: []
|
105
112
|
files:
|
106
113
|
- .gitignore
|
107
114
|
- .rspec
|
108
|
-
- .
|
115
|
+
- .ruby-gemset
|
116
|
+
- .ruby-version
|
109
117
|
- .travis.yml
|
110
118
|
- ChangeLog
|
111
119
|
- Gemfile
|
@@ -120,6 +128,7 @@ files:
|
|
120
128
|
- features/support/_feature_header.erb
|
121
129
|
- features/support/_suite_header.erb
|
122
130
|
- features/support/env.rb
|
131
|
+
- features/support/error_display.rb
|
123
132
|
- features/support/hooks.rb
|
124
133
|
- features/support/logo.png
|
125
134
|
- features/support/pretty_face/blah.txt
|
@@ -171,28 +180,28 @@ files:
|
|
171
180
|
- spec/lib/html_formatter_spec.rb
|
172
181
|
- spec/spec_helper.rb
|
173
182
|
homepage: http://github.com/cheezy/pretty_face
|
174
|
-
licenses:
|
183
|
+
licenses:
|
184
|
+
- MIT
|
185
|
+
metadata: {}
|
175
186
|
post_install_message:
|
176
187
|
rdoc_options: []
|
177
188
|
require_paths:
|
178
189
|
- lib
|
179
190
|
required_ruby_version: !ruby/object:Gem::Requirement
|
180
|
-
none: false
|
181
191
|
requirements:
|
182
|
-
- -
|
192
|
+
- - '>='
|
183
193
|
- !ruby/object:Gem::Version
|
184
194
|
version: '0'
|
185
195
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
186
|
-
none: false
|
187
196
|
requirements:
|
188
|
-
- -
|
197
|
+
- - '>='
|
189
198
|
- !ruby/object:Gem::Version
|
190
199
|
version: '0'
|
191
200
|
requirements: []
|
192
201
|
rubyforge_project: pretty_face
|
193
|
-
rubygems_version:
|
202
|
+
rubygems_version: 2.0.3
|
194
203
|
signing_key:
|
195
|
-
specification_version:
|
204
|
+
specification_version: 4
|
196
205
|
summary: HTML Report/Formatter for Cucumber and RSpec
|
197
206
|
test_files:
|
198
207
|
- features/feature_pages.feature
|
@@ -201,6 +210,7 @@ test_files:
|
|
201
210
|
- features/support/_feature_header.erb
|
202
211
|
- features/support/_suite_header.erb
|
203
212
|
- features/support/env.rb
|
213
|
+
- features/support/error_display.rb
|
204
214
|
- features/support/hooks.rb
|
205
215
|
- features/support/logo.png
|
206
216
|
- features/support/pretty_face/blah.txt
|
data/.rvmrc
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
rvm 1.9.3-p392@testgen --create
|