turnip_formatter 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. data/lib/rspec/core/formatters/turnip_formatter.rb +7 -34
  2. data/lib/turnip_formatter/ext/turnip/rspec.rb +2 -0
  3. data/lib/turnip_formatter/printer/index.rb +29 -0
  4. data/lib/turnip_formatter/printer/runtime_error.rb +41 -0
  5. data/lib/turnip_formatter/printer/scenario.rb +20 -0
  6. data/lib/turnip_formatter/printer/step.rb +34 -0
  7. data/lib/turnip_formatter/printer/step_extra_args.rb +21 -0
  8. data/lib/turnip_formatter/printer/tab_feature_statistics.rb +47 -0
  9. data/lib/turnip_formatter/printer/tab_speed_statistics.rb +34 -0
  10. data/lib/turnip_formatter/printer/tab_tag_statistics.rb +72 -0
  11. data/lib/turnip_formatter/printer.rb +34 -0
  12. data/lib/turnip_formatter/template/exception.erb +9 -25
  13. data/lib/turnip_formatter/template/index.erb +65 -0
  14. data/lib/turnip_formatter/template/runtime_exception.erb +16 -0
  15. data/lib/turnip_formatter/template/scenario.erb +9 -8
  16. data/lib/turnip_formatter/template/step.erb +4 -0
  17. data/lib/turnip_formatter/template/tab_feature_statistics.erb +24 -0
  18. data/lib/turnip_formatter/template/tab_speed_statistics.erb +18 -0
  19. data/lib/turnip_formatter/template/tab_tag_statistics.erb +24 -0
  20. data/lib/turnip_formatter/template/turnip_formatter.js +51 -0
  21. data/lib/turnip_formatter/{formatter.scss → template/turnip_formatter.scss} +0 -0
  22. data/lib/turnip_formatter/template.rb +21 -254
  23. data/lib/turnip_formatter/version.rb +1 -1
  24. data/lib/turnip_formatter.rb +1 -1
  25. data/spec/rspec/core/formatters/turnip_formatter_spec.rb +11 -28
  26. data/spec/turnip_formatter/printer/scenario_spec.rb +33 -0
  27. data/spec/turnip_formatter/printer/step_extra_args_spec.rb +32 -0
  28. data/spec/turnip_formatter/printer/step_spec.rb +86 -0
  29. data/spec/turnip_formatter/printer/tab_feature_statistics_spec.rb +83 -0
  30. data/spec/turnip_formatter/printer/tab_speed_statistics_spec.rb +51 -0
  31. data/spec/turnip_formatter/printer/tab_tag_statistics_spec.rb +90 -0
  32. data/spec/turnip_formatter/template_spec.rb +0 -173
  33. data/turnip_formatter.gemspec +2 -0
  34. metadata +63 -14
  35. data/lib/turnip_formatter/formatter.css +0 -205
  36. data/lib/turnip_formatter/template/scenario_tags.erb +0 -5
  37. data/lib/turnip_formatter/template/tab/feature_statistics.rb +0 -78
  38. data/lib/turnip_formatter/template/tab/speed_statistics.rb +0 -61
  39. data/lib/turnip_formatter/template/tab/tag_statistics.rb +0 -101
  40. data/spec/turnip_formatter/template/tab/feature_statistics_spec.rb +0 -87
  41. data/spec/turnip_formatter/template/tab/speed_statistics_spec.rb +0 -56
  42. data/spec/turnip_formatter/template/tab/tag_statistics_spec.rb +0 -88
@@ -0,0 +1,51 @@
1
+ require 'spec_helper'
2
+ require 'turnip_formatter/printer/tab_speed_statistics'
3
+
4
+ module TurnipFormatter::Printer
5
+ describe TabSpeedStatistics do
6
+ include_context 'turnip_formatter scenario setup'
7
+ include_context 'turnip_formatter standard scenario metadata'
8
+
9
+ let :statistics do
10
+ TurnipFormatter::Printer::TabSpeedStatistics
11
+ end
12
+
13
+ let :passed_scenarios do
14
+ ([example] * 3).map do |ex|
15
+ TurnipFormatter::Scenario::Pass.new(ex)
16
+ end.each { |s| s.stub(:run_time).and_return(rand) }
17
+ end
18
+
19
+ describe '.print_out' do
20
+ it 'should get string as HTML table' do
21
+ html = statistics.print_out(passed_scenarios)
22
+
23
+ passed_scenarios.each do |scenario|
24
+ tag_scenario_name = "<a href=\"\##{scenario.id}\">#{scenario.name}</a>"
25
+ tag_run_time = "<span>#{scenario.run_time}</span>"
26
+ tag_feature_name = "<span>#{scenario.feature_name}</span>"
27
+
28
+ expect_match = [
29
+ '<tr>',
30
+ "<td>#{tag_feature_name}</td>",
31
+ "<td>#{tag_scenario_name}</td>",
32
+ "<td>#{tag_run_time} sec</td>",
33
+ '</tr>'
34
+ ].join('[[:space:]]+')
35
+
36
+ expect(html).to match %r(#{expect_match})
37
+ end
38
+ end
39
+ end
40
+
41
+ describe '.speed_analysis' do
42
+ it 'should get array of scenario order by run_time' do
43
+ scenarios = statistics.send(:speed_analysis, passed_scenarios)
44
+ expect(scenarios).to have(3).elements
45
+
46
+ run_time_list = scenarios.map(&:run_time)
47
+ expect(run_time_list.sort).to eq run_time_list
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,90 @@
1
+ require 'spec_helper'
2
+ require 'turnip_formatter/printer/tab_tag_statistics'
3
+
4
+ module TurnipFormatter::Printer
5
+ describe TabTagStatistics do
6
+ include_context 'turnip_formatter scenario setup'
7
+ include_context 'turnip_formatter standard scenario metadata'
8
+
9
+ let :base_scenario do
10
+ TurnipFormatter::Scenario::Pass.new(example)
11
+ end
12
+
13
+ let :scenarios do
14
+ scenarios = []
15
+
16
+ # | tag | scenarios | passed | failed | pending | status |
17
+ # |-------+-----------+--------+--------+---------+---------|
18
+ # | none | 1 | 1 | 0 | 0 | status |
19
+ # | @bar | 2 | 0 | 1 | 1 | failed |
20
+ # | @foo | 1 | 0 | 1 | 0 | failed |
21
+ # | @hoge | 1 | 1 | 0 | 1 | pending |
22
+
23
+ # Failed scenario have tags @hoge and @fuga
24
+ scenario = base_scenario.dup
25
+ scenario.stub(:tags).and_return(['foo', 'bar'])
26
+ scenario.stub(:status).and_return('failed')
27
+ scenarios << scenario
28
+
29
+ # Passed scenario no have tags
30
+ scenario = base_scenario.dup
31
+ scenario.stub(:tags).and_return([])
32
+ scenario.stub(:status).and_return('passed')
33
+ scenarios << scenario
34
+
35
+ # Passed scenario have tags @hoge
36
+ scenario = base_scenario.dup
37
+ scenario.stub(:tags).and_return(['hoge'])
38
+ scenario.stub(:status).and_return('passed')
39
+ scenarios << scenario
40
+
41
+ # Pending scenario have tags @fuga and @hago
42
+ scenario = base_scenario.dup
43
+ scenario.stub(:tags).and_return(['bar', 'hoge'])
44
+ scenario.stub(:status).and_return('pending')
45
+ scenarios << scenario
46
+ end
47
+
48
+ let :statistics do
49
+ TurnipFormatter::Printer::TabTagStatistics
50
+ end
51
+
52
+ let :groups do
53
+ statistics.send(:group_by_tag, scenarios)
54
+ end
55
+
56
+ describe '.group_by_tag' do
57
+ it 'should get results sort by tag name' do
58
+ expect(groups.map(&:first)).to eq ['@bar', '@foo', '@hoge', 'turnip']
59
+ end
60
+ end
61
+
62
+ describe '.tag_analysis' do
63
+ it 'should get count of each status' do
64
+ # @bar
65
+ group = groups[0]
66
+ res = statistics.send(:tag_analysis, group[0], group[1])
67
+ expect([res.passed, res.failed, res.pending]).to eq [0, 1, 1]
68
+ expect(res.status).to eq 'failed'
69
+
70
+ # @foo
71
+ group = groups[1]
72
+ res = statistics.send(:tag_analysis, group[0], group[1])
73
+ expect([res.passed, res.failed, res.pending]).to eq [0, 1, 0]
74
+ expect(res.status).to eq 'failed'
75
+
76
+ # @hoge
77
+ group = groups[2]
78
+ res = statistics.send(:tag_analysis, group[0], group[1])
79
+ expect([res.passed, res.failed, res.pending]).to eq [1, 0, 1]
80
+ expect(res.status).to eq 'pending'
81
+
82
+ # no tags (turnip)
83
+ group = groups[3]
84
+ res = statistics.send(:tag_analysis, group[0], group[1])
85
+ expect([res.passed, res.failed, res.pending]).to eq [1, 0, 0]
86
+ expect(res.status).to eq 'passed'
87
+ end
88
+ end
89
+ end
90
+ end
@@ -2,178 +2,5 @@ require 'spec_helper'
2
2
 
3
3
  module TurnipFormatter
4
4
  describe Template do
5
- let(:template) { ::TurnipFormatter::Template.new }
6
- let(:exception_style) { ::TurnipFormatter::StepTemplate::Exception }
7
- let(:source_style) { ::TurnipFormatter::StepTemplate::Source }
8
-
9
- describe '#print_scenario_tags' do
10
- subject { template.print_scenario_tags(scenario) }
11
-
12
- context 'Step has no tag' do
13
- let(:scenario) do
14
- scenario = double('scenario')
15
- scenario.stub(:tags).and_return([])
16
- scenario
17
- end
18
-
19
- it { should eq '' }
20
- end
21
-
22
- context 'Step has tags' do
23
- let(:scenario) do
24
- scenario = double('scenario')
25
- scenario.stub(:tags).and_return(['hoge', '<b>fuga</b>'])
26
- scenario
27
- end
28
-
29
- it {
30
- should match %r{ul class="tags"}
31
- should match %r{<li>@hoge</li>[[:space:]]+<li>@&lt;b&gt;fuga&lt;/b&gt;</li>}
32
- }
33
- end
34
- end
35
-
36
- describe '#step_attr' do
37
- let(:passed_step) do
38
- step = double
39
- step.stub(:attention?).and_return(false)
40
- step.should_not_receive(:status)
41
- step
42
- end
43
-
44
- let(:failed_step) do
45
- step = double
46
- step.stub(:attention?).and_return(true)
47
- step.should_receive(:status) { 'failed' }
48
- step
49
- end
50
-
51
- it 'should get tag attribute string' do
52
- expect(template.send(:step_attr, passed_step)).to eq('class="step"')
53
- expect(template.send(:step_attr, failed_step)).to eq('class="step failed"')
54
- end
55
- end
56
-
57
- context 'Step has arguments' do
58
- let(:table) { Turnip::Table.new [] }
59
-
60
- context 'original template' do
61
- describe '#step_args' do
62
- let(:step) do
63
- docs = {}
64
- docs[:extra_args] = { klass: nil, value: ['a', table] }
65
- docs[source_style] = { klass: source_style, value: 'b' }
66
- docs[exception_style] = { klass: exception_style, value: 'c' }
67
-
68
- step = double
69
- step.stub(:docs).and_return(docs)
70
- step
71
- end
72
-
73
- it 'should call corresponding method in step' do
74
- template.should_receive(:print_step_multiline).with('a').and_return('extra_args1')
75
- template.should_receive(:print_step_outline).with(table).and_return('extra_args2')
76
- source_style.should_receive(:build).with('b').and_return('source')
77
- exception_style.should_receive(:build).with('c').and_return('exception')
78
- expect(template.send(:step_args, step)).to eq("extra_args1\nextra_args2\nsource\nexception")
79
- end
80
- end
81
- end
82
-
83
- context 'custom template' do
84
- describe '#step_args' do
85
- let(:custom_template_1) do
86
- Module.new do
87
- def self.build(value)
88
- "<html>#{value}</html>"
89
- end
90
- end
91
- end
92
-
93
- let(:custom_template_2) do
94
- Module.new do
95
- def self.build(value)
96
- "<strong>#{value}</strong>"
97
- end
98
- end
99
- end
100
-
101
- let(:step) do
102
- step = double
103
- step.stub(:docs).and_return(
104
- source: { klass: custom_template_1, value: 'aiueo' },
105
- exception: { klass: custom_template_2, value: '12345' }
106
- )
107
- step
108
- end
109
-
110
- it 'should call corresponding method in step' do
111
- expect(template.send(:step_args, step)).to eq("<html>aiueo</html>\n<strong>12345</strong>")
112
- end
113
- end
114
- end
115
- end
116
-
117
- context 'Step has no argument' do
118
- describe '#step_args' do
119
- let(:step) do
120
- step = double
121
- step.stub(:docs).and_return({})
122
- step
123
- end
124
-
125
- it 'should get null string' do
126
- template.should_not_receive(:print_step_multiline)
127
- template.should_not_receive(:print_step_outline)
128
- source_style.should_not_receive(:build)
129
- exception_style.should_not_receive(:build)
130
- expect(template.send(:step_args, step)).to be_empty
131
- end
132
- end
133
- end
134
-
135
- describe '#print_step_extra_args' do
136
- let(:template_stub) do
137
- template.tap do |t|
138
- template.stub(:print_step_outline).and_return('outline')
139
- template.stub(:print_step_multiline).and_return('multiline')
140
- end
141
- end
142
-
143
- let(:extra_args) do
144
- [::Turnip::Table.new([['a']]), 'b']
145
- end
146
-
147
- before do
148
- template.should_receive(:print_step_outline).and_return('outline')
149
- template.should_receive(:print_step_multiline).and_return('multiline')
150
- end
151
-
152
- it 'should get string converted from extra_args' do
153
- expect(template_stub.send(:print_step_extra_args, extra_args)).to eq("outline\nmultiline")
154
- end
155
- end
156
-
157
- describe '#print_step_multiline' do
158
- let(:string) { 'a<a>a' }
159
- subject { template.print_step_multiline(string) }
160
- it { should include '<pre class="multiline">a&lt;a&gt;a</pre>' }
161
- end
162
-
163
- describe '#print_step_outline' do
164
- let(:string) do
165
- ::Turnip::Table.new([
166
- ["State", "Money"],
167
- ["<Tokushima>", "555"],
168
- ["<Okinawa>", "368"]
169
- ])
170
- end
171
-
172
- subject { template.print_step_outline(string) }
173
-
174
- it { should match %r{<td>State</td>[[:space:]]+<td>Money</td>} }
175
- it { should match %r{<td>&lt;Tokushima&gt;</td>[[:space:]]+<td>555</td>} }
176
- it { should match %r{<td>&lt;Okinawa&gt;</td>[[:space:]]+<td>368</td>} }
177
- end
178
5
  end
179
6
  end
@@ -20,6 +20,8 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_dependency 'turnip'
22
22
  spec.add_dependency 'sass'
23
+ spec.add_dependency 'uglifier'
24
+ spec.add_dependency 'rspec', '~> 2.13.0'
23
25
  spec.add_development_dependency "bundler", "~> 1.3"
24
26
  spec.add_development_dependency "rake"
25
27
  spec.add_development_dependency 'coveralls'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: turnip_formatter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-07-03 00:00:00.000000000 Z
12
+ date: 2013-07-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: turnip
@@ -43,6 +43,38 @@ dependencies:
43
43
  - - ! '>='
44
44
  - !ruby/object:Gem::Version
45
45
  version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: uglifier
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rspec
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: 2.13.0
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 2.13.0
46
78
  - !ruby/object:Gem::Dependency
47
79
  name: bundler
48
80
  requirement: !ruby/object:Gem::Requirement
@@ -148,8 +180,15 @@ files:
148
180
  - lib/turnip_formatter.rb
149
181
  - lib/turnip_formatter/ext/turnip/builder.rb
150
182
  - lib/turnip_formatter/ext/turnip/rspec.rb
151
- - lib/turnip_formatter/formatter.css
152
- - lib/turnip_formatter/formatter.scss
183
+ - lib/turnip_formatter/printer.rb
184
+ - lib/turnip_formatter/printer/index.rb
185
+ - lib/turnip_formatter/printer/runtime_error.rb
186
+ - lib/turnip_formatter/printer/scenario.rb
187
+ - lib/turnip_formatter/printer/step.rb
188
+ - lib/turnip_formatter/printer/step_extra_args.rb
189
+ - lib/turnip_formatter/printer/tab_feature_statistics.rb
190
+ - lib/turnip_formatter/printer/tab_speed_statistics.rb
191
+ - lib/turnip_formatter/printer/tab_tag_statistics.rb
153
192
  - lib/turnip_formatter/scenario.rb
154
193
  - lib/turnip_formatter/scenario/failure.rb
155
194
  - lib/turnip_formatter/scenario/pass.rb
@@ -164,19 +203,29 @@ files:
164
203
  - lib/turnip_formatter/template.rb
165
204
  - lib/turnip_formatter/template/exception.erb
166
205
  - lib/turnip_formatter/template/exception_backtrace.erb
206
+ - lib/turnip_formatter/template/index.erb
207
+ - lib/turnip_formatter/template/runtime_exception.erb
167
208
  - lib/turnip_formatter/template/scenario.erb
168
- - lib/turnip_formatter/template/scenario_tags.erb
169
209
  - lib/turnip_formatter/template/section_report.erb
210
+ - lib/turnip_formatter/template/step.erb
170
211
  - lib/turnip_formatter/template/step_multiline.erb
171
212
  - lib/turnip_formatter/template/step_outline.erb
172
- - lib/turnip_formatter/template/tab/feature_statistics.rb
173
- - lib/turnip_formatter/template/tab/speed_statistics.rb
174
- - lib/turnip_formatter/template/tab/tag_statistics.rb
213
+ - lib/turnip_formatter/template/tab_feature_statistics.erb
214
+ - lib/turnip_formatter/template/tab_speed_statistics.erb
215
+ - lib/turnip_formatter/template/tab_tag_statistics.erb
216
+ - lib/turnip_formatter/template/turnip_formatter.js
217
+ - lib/turnip_formatter/template/turnip_formatter.scss
175
218
  - lib/turnip_formatter/version.rb
176
219
  - spec/rspec/core/formatters/turnip_formatter_spec.rb
177
220
  - spec/spec_helper.rb
178
221
  - spec/support/passed.feature
179
222
  - spec/support/shared_context_examples.rb
223
+ - spec/turnip_formatter/printer/scenario_spec.rb
224
+ - spec/turnip_formatter/printer/step_extra_args_spec.rb
225
+ - spec/turnip_formatter/printer/step_spec.rb
226
+ - spec/turnip_formatter/printer/tab_feature_statistics_spec.rb
227
+ - spec/turnip_formatter/printer/tab_speed_statistics_spec.rb
228
+ - spec/turnip_formatter/printer/tab_tag_statistics_spec.rb
180
229
  - spec/turnip_formatter/scenario/failure_spec.rb
181
230
  - spec/turnip_formatter/scenario/pass_spec.rb
182
231
  - spec/turnip_formatter/scenario/pending_spec.rb
@@ -185,9 +234,6 @@ files:
185
234
  - spec/turnip_formatter/step_spec.rb
186
235
  - spec/turnip_formatter/step_template/exception_spec.rb
187
236
  - spec/turnip_formatter/step_template/source_spec.rb
188
- - spec/turnip_formatter/template/tab/feature_statistics_spec.rb
189
- - spec/turnip_formatter/template/tab/speed_statistics_spec.rb
190
- - spec/turnip_formatter/template/tab/tag_statistics_spec.rb
191
237
  - spec/turnip_formatter/template_spec.rb
192
238
  - turnip_formatter.gemspec
193
239
  homepage: https://github.com/gongo/turnip_formatter
@@ -220,6 +266,12 @@ test_files:
220
266
  - spec/spec_helper.rb
221
267
  - spec/support/passed.feature
222
268
  - spec/support/shared_context_examples.rb
269
+ - spec/turnip_formatter/printer/scenario_spec.rb
270
+ - spec/turnip_formatter/printer/step_extra_args_spec.rb
271
+ - spec/turnip_formatter/printer/step_spec.rb
272
+ - spec/turnip_formatter/printer/tab_feature_statistics_spec.rb
273
+ - spec/turnip_formatter/printer/tab_speed_statistics_spec.rb
274
+ - spec/turnip_formatter/printer/tab_tag_statistics_spec.rb
223
275
  - spec/turnip_formatter/scenario/failure_spec.rb
224
276
  - spec/turnip_formatter/scenario/pass_spec.rb
225
277
  - spec/turnip_formatter/scenario/pending_spec.rb
@@ -228,7 +280,4 @@ test_files:
228
280
  - spec/turnip_formatter/step_spec.rb
229
281
  - spec/turnip_formatter/step_template/exception_spec.rb
230
282
  - spec/turnip_formatter/step_template/source_spec.rb
231
- - spec/turnip_formatter/template/tab/feature_statistics_spec.rb
232
- - spec/turnip_formatter/template/tab/speed_statistics_spec.rb
233
- - spec/turnip_formatter/template/tab/tag_statistics_spec.rb
234
283
  - spec/turnip_formatter/template_spec.rb
@@ -1,205 +0,0 @@
1
- body {
2
- background-color: #ffffff; }
3
-
4
- div#report {
5
- margin: 0 auto;
6
- padding: 2em;
7
- background: black;
8
- color: #509b49; }
9
-
10
- footer {
11
- margin: 0 auto;
12
- padding: 2em;
13
- background: black;
14
- color: #509b49;
15
- text-align: right; }
16
-
17
- div#main {
18
- margin: 0 auto;
19
- padding: 2em;
20
- background-color: #ffffff; }
21
- div#main .ui-tabs-nav {
22
- border-width: 0;
23
- padding: 0; }
24
- div#main .ui-tabs-panel {
25
- border: 1px solid #7a7b7d; }
26
-
27
- div#steps-statistics section.scenario {
28
- margin: 1em 0em;
29
- padding-left: 1em;
30
- border: 2px solid green; }
31
- div#steps-statistics section.scenario > header {
32
- margin: 1em 0em; }
33
- div#steps-statistics section.scenario > header:hover {
34
- text-decoration: underline;
35
- cursor: pointer; }
36
- div#steps-statistics section.scenario > header span.scenario_name {
37
- font-weight: bold;
38
- font-size: 14px; }
39
- div#steps-statistics section.scenario > header span.feature_name {
40
- font-size: 13px;
41
- color: #839496; }
42
- div#steps-statistics section.scenario > header span.permalink {
43
- margin-right: 1em;
44
- font-size: 15px; }
45
- div#steps-statistics section.scenario > header span.permalink a {
46
- color: #268bd2; }
47
- div#steps-statistics section.scenario > ul.tags {
48
- font-size: 12px; }
49
- div#steps-statistics section.scenario > ul.tags li {
50
- color: #839496;
51
- display: inline; }
52
- div#steps-statistics section.scenario.passed {
53
- border-color: #509b49; }
54
- div#steps-statistics section.scenario.passed > header .scenario_name {
55
- color: #509b49; }
56
- div#steps-statistics section.scenario.passed > header .scenario_name:before {
57
- content: "\2713\20"; }
58
- div#steps-statistics section.scenario.failed {
59
- border-color: #ed1c24; }
60
- div#steps-statistics section.scenario.failed > header .scenario_name {
61
- color: #ed1c24; }
62
- div#steps-statistics section.scenario.failed > header .scenario_name:before {
63
- content: "\2717\20"; }
64
- div#steps-statistics section.scenario.pending {
65
- border-color: #d6a921; }
66
- div#steps-statistics section.scenario.pending > header .scenario_name {
67
- color: #d6a921; }
68
- div#steps-statistics section.scenario.pending > header .scenario_name:before {
69
- content: "\d8\20"; }
70
- div#steps-statistics section.scenario ul.steps {
71
- font-size: 12px;
72
- list-style-type: none; }
73
- div#steps-statistics section.scenario ul.steps li.step {
74
- padding: 0.5em;
75
- font-weight: bold;
76
- margin: 0.5em 0em; }
77
- div#steps-statistics section.scenario ul.steps li.step > span {
78
- border: 1px solid #509b49;
79
- padding: 0.5em;
80
- background-color: #eeffee;
81
- color: #509b49; }
82
- div#steps-statistics section.scenario ul.steps li.step > span:hover {
83
- border-width: 3px; }
84
- div#steps-statistics section.scenario ul.steps li.step > span ~ * {
85
- margin-left: 2em; }
86
- div#steps-statistics section.scenario ul.steps li.step.failure {
87
- /* skip/pending step style */ }
88
- div#steps-statistics section.scenario ul.steps li.step.failure > span {
89
- border: 1px solid #ed1c24;
90
- padding: 0.5em;
91
- background-color: #ffdddd;
92
- color: #ed1c24; }
93
- div#steps-statistics section.scenario ul.steps li.step.failure > span:hover {
94
- border-width: 3px; }
95
- div#steps-statistics section.scenario ul.steps li.step.failure > span ~ * {
96
- margin-left: 2em; }
97
- div#steps-statistics section.scenario ul.steps li.step.failure > div.args {
98
- font-size: 11px;
99
- padding: 1em;
100
- background-color: #ffdddd;
101
- border: 1px solid #ed1c24; }
102
- div#steps-statistics section.scenario ul.steps li.step.failure ~ li > span {
103
- background-color: #dddddd;
104
- border-color: #7a7b7d;
105
- color: #7a7b7d; }
106
- div#steps-statistics section.scenario ul.steps li.step.pending {
107
- /* skip/pending step style */ }
108
- div#steps-statistics section.scenario ul.steps li.step.pending > span {
109
- border: 1px solid #d6a921;
110
- padding: 0.5em;
111
- background-color: #ffffdd;
112
- color: #d6a921; }
113
- div#steps-statistics section.scenario ul.steps li.step.pending > span:hover {
114
- border-width: 3px; }
115
- div#steps-statistics section.scenario ul.steps li.step.pending > span ~ * {
116
- margin-left: 2em; }
117
- div#steps-statistics section.scenario ul.steps li.step.pending > div.args {
118
- font-size: 11px;
119
- padding: 1em;
120
- background-color: #ffffdd;
121
- border: 1px solid #d6a921; }
122
- div#steps-statistics section.scenario ul.steps li.step.pending ~ li > span {
123
- background-color: #dddddd;
124
- border-color: #7a7b7d;
125
- color: #7a7b7d; }
126
- div#steps-statistics section.scenario ul.steps table.step_outline {
127
- margin-top: 2em; }
128
- div#steps-statistics section.scenario ul.steps table.step_outline tr:nth-child(odd) {
129
- background-color: #ddddcc; }
130
- div#steps-statistics section.scenario ul.steps table.step_outline tr:nth-child(even) {
131
- background-color: #ccccdd; }
132
- div#steps-statistics section.scenario ul.steps table.step_outline td {
133
- border: 2px solid black;
134
- padding: 0.3em 1em; }
135
- div#steps-statistics section.scenario ul.steps pre.multiline {
136
- margin-top: 2em;
137
- font-size: 13px;
138
- color: #586e75; }
139
-
140
- div#speed-statistics table,
141
- div#feature-statistics table,
142
- div#tag-statistics table {
143
- width: 100%;
144
- margin: 1em 0em; }
145
- div#speed-statistics table thead th,
146
- div#feature-statistics table thead th,
147
- div#tag-statistics table thead th {
148
- border-bottom: 1px solid #7a7b7d; }
149
- div#speed-statistics table tbody tr:nth-child(odd),
150
- div#feature-statistics table tbody tr:nth-child(odd),
151
- div#tag-statistics table tbody tr:nth-child(odd) {
152
- background-color: #FFFFFF; }
153
- div#speed-statistics table tbody tr:nth-child(even),
154
- div#feature-statistics table tbody tr:nth-child(even),
155
- div#tag-statistics table tbody tr:nth-child(even) {
156
- background-color: #dddddd; }
157
- div#speed-statistics table tbody td,
158
- div#feature-statistics table tbody td,
159
- div#tag-statistics table tbody td {
160
- border: 1px solid #7a7b7d;
161
- padding: 0.3em 1em; }
162
- div#speed-statistics table tbody td.passed,
163
- div#feature-statistics table tbody td.passed,
164
- div#tag-statistics table tbody td.passed {
165
- background-color: #eeffee;
166
- color: #509b49; }
167
- div#speed-statistics table tbody td.failed,
168
- div#feature-statistics table tbody td.failed,
169
- div#tag-statistics table tbody td.failed {
170
- background-color: #ffdddd;
171
- color: #ed1c24; }
172
- div#speed-statistics table tbody td.pending,
173
- div#feature-statistics table tbody td.pending,
174
- div#tag-statistics table tbody td.pending {
175
- background-color: #ffffdd;
176
- color: #d6a921; }
177
-
178
- div#speed-statistics .tablesorter-header {
179
- background-position: center right;
180
- background-repeat: no-repeat;
181
- cursor: pointer;
182
- background-image: url("data:image/gif;base64,R0lGODlhFQAJAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw=="); }
183
- div#speed-statistics .tablesorter-header.sorter-false {
184
- background: none; }
185
- div#speed-statistics .tablesorter-headerAsc {
186
- background-position: center right;
187
- background-repeat: no-repeat;
188
- cursor: pointer;
189
- background-image: url("data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7"); }
190
- div#speed-statistics .tablesorter-headerDesc {
191
- background-position: center right;
192
- background-repeat: no-repeat;
193
- cursor: pointer;
194
- background-image: url("data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7"); }
195
-
196
- section.exception {
197
- margin: 1em 0em;
198
- border: 2px solid #268bd2;
199
- padding: 2em; }
200
- section.exception dt {
201
- line-height: 2em;
202
- font-size: 15px; }
203
- section.exception dd {
204
- line-height: 2em;
205
- font-size: 14px; }
@@ -1,5 +0,0 @@
1
- <ul class="tags">
2
- <% tags.each do |tag| %>
3
- <li>@<%= h(tag) %></li>
4
- <% end %>
5
- </ul>