turnip_formatter 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.md CHANGED
@@ -48,6 +48,13 @@ Example
48
48
 
49
49
  see https://github.com/gongo/turnip_formatter/tree/master/spec/examples
50
50
 
51
+ Add-on
52
+ --------------------
53
+
54
+ * Gnawrnip
55
+ * Gnawrnip is a TurnipFormatter Add-on that provides put a screen shot to report use Capybara
56
+ * https://github.com/gongo/gnawrnip
57
+
51
58
  License
52
59
  --------------------
53
60
 
@@ -8,6 +8,14 @@ div#report {
8
8
  background: black;
9
9
  color: #aaffaa; }
10
10
 
11
+ footer {
12
+ width: 90%;
13
+ margin: 0 auto;
14
+ padding: 2em;
15
+ background: black;
16
+ color: #aaffaa;
17
+ text-align: right; }
18
+
11
19
  div#main {
12
20
  width: 90%;
13
21
  margin: 0 auto;
@@ -20,6 +28,9 @@ section.scenario {
20
28
  border: 2px solid green; }
21
29
  section.scenario > header {
22
30
  margin: 1em 0em; }
31
+ section.scenario > header:hover {
32
+ text-decoration: underline;
33
+ cursor: pointer; }
23
34
  section.scenario > header span.scenario_name {
24
35
  font-weight: bold;
25
36
  font-size: 14px; }
@@ -21,7 +21,15 @@ div#report {
21
21
  padding: 2em;
22
22
  background: black;
23
23
  color: #aaffaa;
24
+ }
24
25
 
26
+ footer {
27
+ width: 90%;
28
+ margin: 0 auto;
29
+ padding: 2em;
30
+ background: black;
31
+ color: #aaffaa;
32
+ text-align: right;
25
33
  }
26
34
 
27
35
  div#main {
@@ -39,6 +47,11 @@ section.scenario {
39
47
  > header {
40
48
  margin: 1em 0em;
41
49
 
50
+ &:hover {
51
+ text-decoration: underline;
52
+ cursor: pointer;
53
+ }
54
+
42
55
  span.scenario_name {
43
56
  font-weight: bold;
44
57
  font-size: 14px;
@@ -42,6 +42,13 @@ module TurnipFormatter
42
42
  example.execution_result[:status]
43
43
  end
44
44
 
45
+ #
46
+ # @return [String] scenario run time
47
+ #
48
+ def run_time
49
+ example.execution_result[:run_time]
50
+ end
51
+
45
52
  def feature_name
46
53
  example.example_group.metadata[:example_group][:example_group][:description]
47
54
  end
@@ -16,14 +16,38 @@ module TurnipFormatter
16
16
  def print_header
17
17
  <<-EOS
18
18
  <!DOCTYPE html>
19
+ <html>
19
20
  <head>
20
21
  <meta charset="UTF-8">
21
22
  <style>
22
23
  #{File.read(File.dirname(__FILE__) + '/formatter.css')}
23
24
  </style>
24
- <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
25
+ <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
25
26
  <script>
26
27
  $(function() {
28
+ var scenarioHeader = 'section.scenario header';
29
+
30
+ /**
31
+ * Step folding/expanding
32
+ */
33
+ $(scenarioHeader).click(function() {
34
+ var steps = $(this).siblings();
35
+ steps.slideToggle();
36
+ });
37
+
38
+ /**
39
+ * All step folding/expanding action
40
+ */
41
+ $('#scenario_display_check').change(function() {
42
+ var steps = $(scenarioHeader).siblings();
43
+
44
+ if (this.checked) {
45
+ steps.slideUp();
46
+ } else {
47
+ steps.slideDown();
48
+ }
49
+ });
50
+
27
51
  ["passed", "failed", "pending"].forEach(function(status) {
28
52
  $('#' + status + '_check').click(function() {
29
53
  if (this.checked) {
@@ -39,6 +63,7 @@ module TurnipFormatter
39
63
  <body>
40
64
  #{report_area}
41
65
  <div id="main" role="main">
66
+ <label><input type="checkbox" id="scenario_display_check">step folding</label>
42
67
  EOS
43
68
  end
44
69
 
@@ -54,6 +79,10 @@ module TurnipFormatter
54
79
  <<-EOS
55
80
  </div>
56
81
  #{update_report_js}
82
+
83
+ <footer>
84
+ Generated by <a href="https://rubygems.org/gems/turnip_formatter">turnip_formatter</a> #{TurnipFormatter::VERSION} and <a href="http://jquery.com/">jQuery</a>
85
+ </footer>
57
86
  </body>
58
87
  </html>
59
88
  EOS
@@ -151,7 +180,10 @@ module TurnipFormatter
151
180
  <span class="scenario_name" id="<%= scenario.object_id %>">
152
181
  Scenario: <%= h(scenario.name) %>
153
182
  </span>
154
- <span class="feature_name">(Feature: <%= h(feature_name(scenario)) %>)</span>
183
+ <span class="feature_name">
184
+ (Feature: <%= h(feature_name(scenario)) %>)
185
+ at <%= h(scenario.run_time) %> sec
186
+ </span>
155
187
  </header>
156
188
  <%= scenario_tags(scenario) %>
157
189
  <ul class="steps">
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
3
  module TurnipFormatter
4
- VERSION = "0.0.5"
4
+ VERSION = "0.0.6"
5
5
  end
@@ -3,7 +3,7 @@ require 'stringio'
3
3
 
4
4
  module RSpec::Core::Formatters
5
5
  describe TurnipFormatter do
6
- include_context 'turnip_formatter passed scenario metadata'
6
+ include_context 'turnip_formatter standard scenario metadata'
7
7
 
8
8
  let(:feature) { RSpec::Core::ExampleGroup.describe('Feature') }
9
9
  let(:scenario) { feature.describe('Scenario') }
@@ -29,19 +29,8 @@ module RSpec::Core::Formatters
29
29
  end
30
30
 
31
31
  describe '#example_failed' do
32
- let(:failed_metadata) do
33
- metadata[:turnip][:steps].tap do |steps|
34
- steps << {
35
- name: 'this step is error',
36
- extra_args: [],
37
- keyword: 'Given'
38
- }
39
- end
40
- metadata
41
- end
42
-
43
32
  it 'should be output failed scenario section' do
44
- scenario.example('failed', failed_metadata) do
33
+ scenario.example('failed', metadata) do
45
34
  begin
46
35
  expect(true).to be_false
47
36
  rescue => e
@@ -56,19 +45,8 @@ module RSpec::Core::Formatters
56
45
  end
57
46
 
58
47
  describe '#example_pending' do
59
- let(:pending_metadata) do
60
- metadata[:turnip][:steps].tap do |steps|
61
- steps << {
62
- name: 'this step is unimplement',
63
- extra_args: [],
64
- keyword: 'Given'
65
- }
66
- end
67
- metadata
68
- end
69
-
70
48
  it 'should be output pending scenario section' do
71
- scenario.example('pending', pending_metadata) do
49
+ scenario.example('pending', metadata) do
72
50
  pending("No such step(0): 'this step is unimplement'")
73
51
  end
74
52
  feature.run(formatter)
@@ -77,7 +55,7 @@ module RSpec::Core::Formatters
77
55
  end
78
56
 
79
57
  it 'should be output runtime exception section' do
80
- scenario.example('pending', pending_metadata) do
58
+ scenario.example('pending', metadata) do
81
59
  pending("Pending")
82
60
  end
83
61
  feature.run(formatter)
@@ -1,13 +1,26 @@
1
- shared_context "turnip_formatter scenario setup" do |proc|
1
+ shared_context "turnip_formatter scenario setup" do |assertion|
2
2
  let(:example) do
3
+ assertion ||= proc { expect(true).to be_true }
3
4
  group = ::RSpec::Core::ExampleGroup.describe('Feature').describe('Scenario')
4
- _example = group.example('example', metadata, &proc)
5
+ example = group.example('example', metadata, &assertion)
5
6
  group.run(NoopObject.new)
6
- _example
7
+ example
7
8
  end
8
9
  end
9
10
 
10
- shared_context 'turnip_formatter passed scenario metadata' do
11
+ shared_context "turnip_formatter failure scenario setup" do |assertion|
12
+ include_context 'turnip_formatter scenario setup', proc {
13
+ expect(true).to be_false
14
+ }
15
+ end
16
+
17
+ shared_context "turnip_formatter pending scenario setup" do |assertion|
18
+ include_context 'turnip_formatter scenario setup', proc {
19
+ pending('Pending')
20
+ }
21
+ end
22
+
23
+ shared_context 'turnip_formatter standard scenario metadata' do
11
24
  let(:metadata) do
12
25
  {
13
26
  turnip: {
@@ -3,13 +3,10 @@ require 'spec_helper'
3
3
  module TurnipFormatter::Scenario
4
4
  describe Failure do
5
5
  let(:scenario) { ::TurnipFormatter::Scenario::Failure.new(failure_example) }
6
- include_context 'turnip_formatter passed scenario metadata'
6
+ include_context 'turnip_formatter standard scenario metadata'
7
+ include_context 'turnip_formatter failure scenario setup'
7
8
 
8
9
  context 'Turnip example' do
9
- include_context 'turnip_formatter scenario setup', proc {
10
- expect(true).to be_false
11
- }
12
-
13
10
  let(:failure_example) do
14
11
  example.exception.backtrace.push ":in step:0 `"
15
12
  example
@@ -28,25 +25,23 @@ module TurnipFormatter::Scenario
28
25
  end
29
26
 
30
27
  context 'Not failed example' do
31
- include_context 'turnip_formatter scenario setup', proc {
32
- expect(true).to be_true
33
- }
28
+ include_context 'turnip_formatter scenario setup'
34
29
 
35
30
  describe '#validation' do
36
31
  it 'should raise exception' do
37
- expect { scenario.validation }.to raise_error NotFailedScenarioError
32
+ expect {
33
+ scenario.validation
34
+ }.to raise_error NotFailedScenarioError
38
35
  end
39
36
  end
40
37
  end
41
38
 
42
39
  context 'Not exist failed step information' do
43
- include_context 'turnip_formatter scenario setup', proc {
44
- expect(true).to be_false
45
- }
46
-
47
40
  describe '#validation' do
48
41
  it 'should raise exception' do
49
- expect { scenario.validation }.to raise_error NoExistFailedStepInformationError
42
+ expect {
43
+ scenario.validation
44
+ }.to raise_error NoExistFailedStepInformationError
50
45
  end
51
46
  end
52
47
  end
@@ -4,11 +4,8 @@ module TurnipFormatter::Scenario
4
4
  describe Pass do
5
5
  let(:scenario) { ::TurnipFormatter::Scenario::Pass.new(example) }
6
6
 
7
- include_context 'turnip_formatter scenario setup', proc {
8
- expect(true).to be_true
9
- }
10
-
11
- include_context 'turnip_formatter passed scenario metadata'
7
+ include_context 'turnip_formatter scenario setup'
8
+ include_context 'turnip_formatter standard scenario metadata'
12
9
 
13
10
  context 'Turnip example' do
14
11
  describe '#validation' do
@@ -20,9 +17,7 @@ module TurnipFormatter::Scenario
20
17
 
21
18
  context 'Not Turnip example' do
22
19
  context 'Not passed example' do
23
- include_context 'turnip_formatter scenario setup', proc {
24
- expect(true).to be_false
25
- }
20
+ include_context 'turnip_formatter failure scenario setup'
26
21
 
27
22
  describe '#validation' do
28
23
  it 'should raise exception' do
@@ -2,19 +2,16 @@ require 'spec_helper'
2
2
 
3
3
  module TurnipFormatter::Scenario
4
4
  describe Failure do
5
- let(:scenario) { ::TurnipFormatter::Scenario::Pending.new(pending_example) }
6
-
7
- let(:pending_example) do
8
- example.execution_result[:pending_message] = 'No such step(0): '
9
- example
10
- end
5
+ include_context 'turnip_formatter standard scenario metadata'
6
+ include_context 'turnip_formatter pending scenario setup'
11
7
 
12
- include_context 'turnip_formatter passed scenario metadata'
8
+ let(:scenario) { ::TurnipFormatter::Scenario::Pending.new(pending_example) }
13
9
 
14
10
  context 'Turnip example' do
15
- include_context 'turnip_formatter scenario setup', proc {
16
- pending('Pending')
17
- }
11
+ let(:pending_example) do
12
+ example.execution_result[:pending_message] = 'No such step(0): '
13
+ example
14
+ end
18
15
 
19
16
  describe '#validation' do
20
17
  it 'should not raise exception' do
@@ -24,34 +21,28 @@ module TurnipFormatter::Scenario
24
21
  end
25
22
 
26
23
  context 'Not Turnip example' do
27
- let(:failure_example) do
24
+ let(:pending_example) do
28
25
  example
29
26
  end
30
27
 
31
28
  context 'Not pending example' do
32
- include_context 'turnip_formatter scenario setup', proc {
33
- expect(true).to be_true
34
- }
29
+ include_context 'turnip_formatter scenario setup'
35
30
 
36
31
  describe '#validation' do
37
32
  it 'should raise exception' do
38
- expect { scenario.validation }.to raise_error NotPendingScenarioError
33
+ expect {
34
+ scenario.validation
35
+ }.to raise_error NotPendingScenarioError
39
36
  end
40
37
  end
41
38
  end
42
39
 
43
40
  context 'Not exist pending step information' do
44
- include_context 'turnip_formatter scenario setup', proc {
45
- pending('Pending')
46
- }
47
-
48
- let(:pending_example) do
49
- example
50
- end
51
-
52
41
  describe '#validation' do
53
42
  it 'should raise exception' do
54
- expect { scenario.validation }.to raise_error NoExistPendingStepInformationError
43
+ expect {
44
+ scenario.validation
45
+ }.to raise_error NoExistPendingStepInformationError
55
46
  end
56
47
  end
57
48
  end
@@ -4,10 +4,8 @@ module TurnipFormatter
4
4
  class Step
5
5
  describe Failure do
6
6
  include_context 'turnip_formatter standard step parameters'
7
- include_context 'turnip_formatter scenario setup', proc {
8
- expect(true).to be_false
9
- }
10
- include_context 'turnip_formatter passed scenario metadata'
7
+ include_context 'turnip_formatter failure scenario setup'
8
+ include_context 'turnip_formatter standard scenario metadata'
11
9
 
12
10
  let(:step) do
13
11
  step = ::TurnipFormatter::Step.new(example, description)
@@ -4,8 +4,8 @@ module TurnipFormatter
4
4
  class Step
5
5
  describe Failure do
6
6
  include_context 'turnip_formatter standard step parameters'
7
- include_context 'turnip_formatter scenario setup'
8
- include_context 'turnip_formatter passed scenario metadata'
7
+ include_context 'turnip_formatter pending scenario setup'
8
+ include_context 'turnip_formatter standard scenario metadata'
9
9
 
10
10
  let(:step) do
11
11
  step = ::TurnipFormatter::Step.new(example, description)
@@ -4,7 +4,7 @@ module TurnipFormatter
4
4
  describe Step do
5
5
  include_context 'turnip_formatter standard step parameters'
6
6
  include_context 'turnip_formatter scenario setup'
7
- include_context 'turnip_formatter passed scenario metadata'
7
+ include_context 'turnip_formatter standard scenario metadata'
8
8
  let(:step) { ::TurnipFormatter::Step.new(example, description) }
9
9
 
10
10
  describe '#attention?' do
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.0.5
4
+ version: 0.0.6
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-05-01 00:00:00.000000000 Z
12
+ date: 2013-05-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: turnip
@@ -172,7 +172,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
172
172
  version: '0'
173
173
  segments:
174
174
  - 0
175
- hash: -1609512988288769776
175
+ hash: -759848237600448328
176
176
  required_rubygems_version: !ruby/object:Gem::Requirement
177
177
  none: false
178
178
  requirements:
@@ -181,7 +181,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
181
181
  version: '0'
182
182
  segments:
183
183
  - 0
184
- hash: -1609512988288769776
184
+ hash: -759848237600448328
185
185
  requirements: []
186
186
  rubyforge_project:
187
187
  rubygems_version: 1.8.23