turnip_formatter 0.2.11 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +2 -0
- data/README.md +18 -22
- data/example/README.md +6 -8
- data/example/images/background.png +0 -0
- data/example/images/basic_step.png +0 -0
- data/example/images/failed_step.png +0 -0
- data/example/images/multiline.png +0 -0
- data/example/images/outline.png +0 -0
- data/example/images/pending_step.png +0 -0
- data/example/spec/bar.js +1 -0
- data/example/spec/foo.css +3 -0
- data/example/spec/spec_helper.rb +7 -2
- data/lib/rspec/core/formatters/turnip_formatter.rb +32 -19
- data/lib/turnip_formatter/printer/index.rb +6 -9
- data/lib/turnip_formatter/printer/scenario.rb +4 -2
- data/lib/turnip_formatter/printer/step.rb +16 -14
- data/lib/turnip_formatter/printer/step_extra_args.rb +2 -0
- data/lib/turnip_formatter/printer/tab_speed_statistics.rb +2 -1
- data/lib/turnip_formatter/printer/tab_tag_statistics.rb +5 -6
- data/lib/turnip_formatter/printer.rb +6 -11
- data/lib/turnip_formatter/scenario/base.rb +98 -0
- data/lib/turnip_formatter/scenario/failure.rb +19 -21
- data/lib/turnip_formatter/scenario/pass.rb +2 -13
- data/lib/turnip_formatter/scenario/pending.rb +19 -25
- data/lib/turnip_formatter/step.rb +8 -38
- data/lib/turnip_formatter/step_template/base.rb +34 -0
- data/lib/turnip_formatter/step_template/exception.rb +59 -50
- data/lib/turnip_formatter/step_template/source.rb +36 -34
- data/lib/turnip_formatter/template/exception.haml +8 -0
- data/lib/turnip_formatter/template/index.haml +88 -0
- data/lib/turnip_formatter/template/runtime_exception.haml +13 -0
- data/lib/turnip_formatter/template/scenario.haml +14 -0
- data/lib/turnip_formatter/template/step.haml +6 -0
- data/lib/turnip_formatter/template/step_multiline.haml +1 -0
- data/lib/turnip_formatter/template/step_outline.haml +6 -0
- data/lib/turnip_formatter/template/tab_feature_statistics.haml +18 -0
- data/lib/turnip_formatter/template/tab_speed_statistics.haml +16 -0
- data/lib/turnip_formatter/template/tab_tag_statistics.haml +18 -0
- data/lib/turnip_formatter/template/turnip_formatter.js +8 -25
- data/lib/turnip_formatter/template/turnip_formatter.scss +102 -174
- data/lib/turnip_formatter/template.rb +65 -39
- data/lib/turnip_formatter/version.rb +1 -1
- data/lib/turnip_formatter.rb +45 -7
- data/spec/spec_helper.rb +6 -1
- data/spec/support/example_helper.rb +36 -0
- data/spec/support/step_helper.rb +27 -0
- data/spec/turnip_formatter/printer/index_spec.rb +10 -10
- data/spec/turnip_formatter/printer/scenario_spec.rb +29 -23
- data/spec/turnip_formatter/printer/step_extra_args_spec.rb +6 -6
- data/spec/turnip_formatter/printer/step_spec.rb +36 -69
- data/spec/turnip_formatter/printer/tab_feature_statistics_spec.rb +1 -4
- data/spec/turnip_formatter/printer/tab_speed_statistics_spec.rb +1 -4
- data/spec/turnip_formatter/printer/tab_tag_statistics_spec.rb +1 -4
- data/spec/turnip_formatter/scenario/base_spec.rb +67 -0
- data/spec/turnip_formatter/scenario/failure_spec.rb +16 -38
- data/spec/turnip_formatter/scenario/pending_spec.rb +16 -39
- data/spec/turnip_formatter/step_template/base_spec.rb +82 -0
- data/spec/turnip_formatter/step_template/exception_spec.rb +25 -17
- data/spec/turnip_formatter/step_template/source_spec.rb +10 -13
- data/turnip_formatter.gemspec +15 -11
- metadata +83 -41
- data/example/images/tag_step.png +0 -0
- data/images/tab_feature_statistics.png +0 -0
- data/images/tab_speed_statistics.png +0 -0
- data/images/tab_steps.png +0 -0
- data/images/tab_steps_expanding.png +0 -0
- data/images/tab_tag_statistics.png +0 -0
- data/lib/turnip_formatter/ext/turnip/builder.rb +0 -47
- data/lib/turnip_formatter/scenario.rb +0 -89
- data/lib/turnip_formatter/step/dsl.rb +0 -33
- data/lib/turnip_formatter/step/failure.rb +0 -19
- data/lib/turnip_formatter/step/pending.rb +0 -19
- data/lib/turnip_formatter/step_template.rb +0 -8
- data/lib/turnip_formatter/template/exception.erb +0 -10
- data/lib/turnip_formatter/template/exception_backtrace.erb +0 -7
- data/lib/turnip_formatter/template/index.erb +0 -70
- data/lib/turnip_formatter/template/runtime_exception.erb +0 -16
- data/lib/turnip_formatter/template/scenario.erb +0 -25
- data/lib/turnip_formatter/template/section_report.erb +0 -15
- data/lib/turnip_formatter/template/step.erb +0 -4
- data/lib/turnip_formatter/template/step_multiline.erb +0 -1
- data/lib/turnip_formatter/template/step_outline.erb +0 -9
- data/lib/turnip_formatter/template/tab_feature_statistics.erb +0 -24
- data/lib/turnip_formatter/template/tab_speed_statistics.erb +0 -18
- data/lib/turnip_formatter/template/tab_tag_statistics.erb +0 -24
- data/spec/rspec/core/formatters/turnip_formatter_spec.rb +0 -78
- data/spec/support/shared_context_examples.rb +0 -39
- data/spec/turnip_formatter/scenario/pass_spec.rb +0 -54
- data/spec/turnip_formatter/step/failure_spec.rb +0 -64
- data/spec/turnip_formatter/step/pending_spec.rb +0 -63
- data/spec/turnip_formatter/step_spec.rb +0 -86
@@ -1,36 +1,42 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
require 'turnip_formatter/printer/scenario'
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
describe TurnipFormatter::Printer::Scenario do
|
5
|
+
let(:example) do
|
6
|
+
passed_example
|
7
|
+
end
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
let(:scenario) do
|
10
|
+
TurnipFormatter::Scenario::Pass.new(example)
|
11
|
+
end
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
describe '.print_out' do
|
14
|
+
context 'with turnip example' do
|
15
|
+
subject { described_class.print_out(scenario) }
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
it { should have_tag 'ul.steps' }
|
22
|
-
end
|
17
|
+
it { should have_tag 'a', with: { href: '#' + scenario.id } }
|
18
|
+
it { should have_tag 'div.scenario-title', text: /Scenario: Scenario/ }
|
19
|
+
it { should have_tag 'ul.tags' }
|
20
|
+
it { should have_tag 'div.steps' }
|
23
21
|
end
|
24
22
|
|
25
|
-
context '
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
expect(RuntimeError).to receive(:print_out)
|
30
|
-
end
|
23
|
+
context 'with no turnip example' do
|
24
|
+
let(:example) do
|
25
|
+
passed_example.tap { |e| e.metadata.delete(:turnip_formatter) }
|
26
|
+
end
|
31
27
|
|
32
|
-
|
28
|
+
subject { described_class.print_out(scenario) }
|
29
|
+
|
30
|
+
it { should be nil }
|
31
|
+
end
|
32
|
+
|
33
|
+
context 'runtime error' do
|
34
|
+
before do
|
35
|
+
allow(scenario).to receive(:valid?) { raise StandardError }
|
36
|
+
expect(TurnipFormatter::Printer::RuntimeError).to receive(:print_out)
|
33
37
|
end
|
38
|
+
|
39
|
+
it { described_class.print_out(scenario) }
|
34
40
|
end
|
35
41
|
end
|
36
42
|
end
|
@@ -17,14 +17,14 @@ module TurnipFormatter::Printer
|
|
17
17
|
|
18
18
|
it {
|
19
19
|
expect(subject).to have_tag 'table.step_outline' do
|
20
|
-
with_tag 'tr:nth-child(1) td:nth-child(1)', text:
|
21
|
-
with_tag 'tr:nth-child(1) td:nth-child(2)', text:
|
20
|
+
with_tag 'tr:nth-child(1) td:nth-child(1)', text: /State/
|
21
|
+
with_tag 'tr:nth-child(1) td:nth-child(2)', text: /Money/
|
22
22
|
|
23
|
-
with_tag 'tr:nth-child(2) td:nth-child(1)', text:
|
24
|
-
with_tag 'tr:nth-child(2) td:nth-child(2)', text:
|
23
|
+
with_tag 'tr:nth-child(2) td:nth-child(1)', text: /<Tokushima>/
|
24
|
+
with_tag 'tr:nth-child(2) td:nth-child(2)', text: /555/
|
25
25
|
|
26
|
-
with_tag 'tr:nth-child(3) td:nth-child(1)', text:
|
27
|
-
with_tag 'tr:nth-child(3) td:nth-child(2)', text:
|
26
|
+
with_tag 'tr:nth-child(3) td:nth-child(1)', text: /<Okinawa>/
|
27
|
+
with_tag 'tr:nth-child(3) td:nth-child(2)', text: /368/
|
28
28
|
end
|
29
29
|
}
|
30
30
|
end
|
@@ -1,89 +1,56 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
require 'turnip_formatter/printer/step'
|
3
3
|
|
4
|
-
|
5
|
-
describe
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
context 'original template' do
|
15
|
-
describe '#step_args' do
|
16
|
-
let(:step) do
|
17
|
-
docs = {}
|
18
|
-
docs[:extra_args] = { klass: nil, value: ['a', table] }
|
19
|
-
docs[source_style] = { klass: source_style, value: 'b' }
|
20
|
-
docs[exception_style] = { klass: exception_style, value: 'c' }
|
21
|
-
|
22
|
-
double(status: '', name: 'step', docs: docs)
|
23
|
-
end
|
24
|
-
|
25
|
-
before do
|
26
|
-
expect(StepExtraArgs).to receive(:print_out).with(['a', table]).and_return('extra_args')
|
27
|
-
expect(source_style).to receive(:build).with('b').and_return('source')
|
28
|
-
expect(exception_style).to receive(:build).with('c').and_return('exception')
|
29
|
-
end
|
4
|
+
describe TurnipFormatter::Printer::Step do
|
5
|
+
describe '.print_out' do
|
6
|
+
subject { described_class.print_out(step) }
|
7
|
+
|
8
|
+
context 'not has extra argument' do
|
9
|
+
let(:step) do
|
10
|
+
step = passed_step
|
11
|
+
expect(step).to receive(:extra_args).and_return([])
|
12
|
+
step
|
13
|
+
end
|
30
14
|
|
31
|
-
|
15
|
+
it do
|
16
|
+
should have_tag 'div.step' do
|
17
|
+
with_tag 'div.step-title'
|
32
18
|
end
|
33
19
|
end
|
20
|
+
end
|
34
21
|
|
35
|
-
|
36
|
-
|
37
|
-
let(:custom_template_1) do
|
38
|
-
Module.new do
|
39
|
-
def self.build(value)
|
40
|
-
"<em>#{value}</em>"
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
let(:custom_template_2) do
|
46
|
-
Module.new do
|
47
|
-
def self.build(value)
|
48
|
-
"<strong>#{value}</strong>"
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
let(:step) do
|
54
|
-
docs = {
|
55
|
-
source: { klass: custom_template_1, value: 'aiueo' },
|
56
|
-
exception: { klass: custom_template_2, value: '12345' }
|
57
|
-
}
|
22
|
+
context 'has table argument' do
|
23
|
+
let(:table) { Turnip::Table.new [] }
|
58
24
|
|
59
|
-
|
60
|
-
|
25
|
+
let(:step) do
|
26
|
+
step = passed_step
|
27
|
+
allow(step).to receive(:extra_args).and_return([table])
|
28
|
+
step
|
29
|
+
end
|
61
30
|
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
31
|
+
it do
|
32
|
+
should have_tag 'div.step' do
|
33
|
+
with_tag 'div.step-title'
|
34
|
+
with_tag 'div.step-body' do
|
35
|
+
with_tag 'table.step_outline'
|
67
36
|
end
|
68
37
|
end
|
69
38
|
end
|
70
39
|
end
|
71
40
|
|
72
|
-
context '
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
end
|
41
|
+
context 'has outline argument' do
|
42
|
+
let(:step) do
|
43
|
+
passed_step
|
44
|
+
end
|
77
45
|
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
46
|
+
it do
|
47
|
+
should have_tag 'div.step' do
|
48
|
+
with_tag 'div.step-title'
|
49
|
+
with_tag 'div.step-body' do
|
50
|
+
with_tag 'table.multiline'
|
51
|
+
end
|
82
52
|
end
|
83
|
-
|
84
|
-
it { should have_tag 'div.args', text: '' }
|
85
53
|
end
|
86
54
|
end
|
87
55
|
end
|
88
56
|
end
|
89
|
-
|
@@ -3,11 +3,8 @@ require 'turnip_formatter/printer/tab_feature_statistics'
|
|
3
3
|
|
4
4
|
module TurnipFormatter::Printer
|
5
5
|
describe TabFeatureStatistics do
|
6
|
-
include_context 'turnip_formatter scenario setup'
|
7
|
-
include_context 'turnip_formatter standard scenario metadata'
|
8
|
-
|
9
6
|
let :base_scenario do
|
10
|
-
TurnipFormatter::Scenario::Pass.new(
|
7
|
+
TurnipFormatter::Scenario::Pass.new(passed_example)
|
11
8
|
end
|
12
9
|
|
13
10
|
let :statistics do
|
@@ -3,15 +3,12 @@ require 'turnip_formatter/printer/tab_speed_statistics'
|
|
3
3
|
|
4
4
|
module TurnipFormatter::Printer
|
5
5
|
describe TabSpeedStatistics do
|
6
|
-
include_context 'turnip_formatter scenario setup'
|
7
|
-
include_context 'turnip_formatter standard scenario metadata'
|
8
|
-
|
9
6
|
let :statistics do
|
10
7
|
TurnipFormatter::Printer::TabSpeedStatistics
|
11
8
|
end
|
12
9
|
|
13
10
|
let :passed_scenarios do
|
14
|
-
([
|
11
|
+
([passed_example] * 3).map do |ex|
|
15
12
|
TurnipFormatter::Scenario::Pass.new(ex)
|
16
13
|
end.each { |s| allow(s).to receive(:run_time).and_return(rand) }
|
17
14
|
end
|
@@ -3,11 +3,8 @@ require 'turnip_formatter/printer/tab_tag_statistics'
|
|
3
3
|
|
4
4
|
module TurnipFormatter::Printer
|
5
5
|
describe TabTagStatistics do
|
6
|
-
include_context 'turnip_formatter scenario setup'
|
7
|
-
include_context 'turnip_formatter standard scenario metadata'
|
8
|
-
|
9
6
|
let :base_scenario do
|
10
|
-
TurnipFormatter::Scenario::Pass.new(
|
7
|
+
TurnipFormatter::Scenario::Pass.new(passed_example)
|
11
8
|
end
|
12
9
|
|
13
10
|
let :scenarios do
|
@@ -0,0 +1,67 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe TurnipFormatter::Scenario::Base do
|
4
|
+
let(:example) { passed_example }
|
5
|
+
let(:scenario) { described_class.new(example) }
|
6
|
+
|
7
|
+
describe '#valid?' do
|
8
|
+
subject { scenario.valid? }
|
9
|
+
|
10
|
+
context 'called by turnip example' do
|
11
|
+
it { should be true }
|
12
|
+
end
|
13
|
+
|
14
|
+
context 'called by not turnip example' do
|
15
|
+
let(:example) do
|
16
|
+
passed_example.tap { |e| e.metadata.delete(:turnip_formatter) }
|
17
|
+
end
|
18
|
+
|
19
|
+
it { should be false }
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe '#id' do
|
24
|
+
it 'returns unique string' do
|
25
|
+
expect(scenario.id).to start_with 'scenario_'
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe '#steps' do
|
30
|
+
subject { scenario.steps }
|
31
|
+
|
32
|
+
it 'returns step array' do
|
33
|
+
expect(subject).to be_a Array
|
34
|
+
expect(subject[0]).to be_a TurnipFormatter::Step
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
describe '#name' do
|
39
|
+
it 'returns scenario name' do
|
40
|
+
expect(scenario.name).to eq 'Scenario'
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
describe '#status' do
|
45
|
+
it 'returns scenario status' do
|
46
|
+
expect(scenario.status).to eq 'passed'
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
describe '#run_time' do
|
51
|
+
it 'returns run time(second) of scenario' do
|
52
|
+
expect(scenario.run_time).to be_a Float
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
describe '#feature_info' do
|
57
|
+
it 'returns feature name and filepath' do
|
58
|
+
expect(scenario.feature_info).to eq '"Feature" in /path/to/hoge.feature'
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
describe '#tags' do
|
63
|
+
it 'returns tags' do
|
64
|
+
expect(scenario.tags).to be_a Array
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -1,50 +1,28 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
include_context 'turnip_formatter standard scenario metadata'
|
7
|
-
include_context 'turnip_formatter failure scenario setup'
|
3
|
+
describe TurnipFormatter::Scenario::Failure do
|
4
|
+
let(:example) { failed_example }
|
5
|
+
let(:scenario) { described_class.new(example) }
|
8
6
|
|
9
|
-
|
10
|
-
|
11
|
-
example.exception.backtrace.push ":in step:0 `"
|
12
|
-
example
|
13
|
-
end
|
7
|
+
describe '#valid?' do
|
8
|
+
subject { scenario.valid? }
|
14
9
|
|
15
|
-
|
16
|
-
|
17
|
-
expect { scenario.validation }.not_to raise_error
|
18
|
-
end
|
19
|
-
end
|
10
|
+
context 'called by turnip example' do
|
11
|
+
it { should be true }
|
20
12
|
end
|
21
13
|
|
22
|
-
context '
|
23
|
-
let(:
|
24
|
-
|
14
|
+
context 'called by not turnip example' do
|
15
|
+
let(:example) do
|
16
|
+
failed_example.tap { |e| e.exception.backtrace.pop }
|
25
17
|
end
|
26
18
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
describe '#validation' do
|
31
|
-
it 'should raise exception' do
|
32
|
-
expect {
|
33
|
-
scenario.validation
|
34
|
-
}.to raise_error NotFailedScenarioError
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
19
|
+
it { should be false }
|
20
|
+
end
|
21
|
+
end
|
38
22
|
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
expect {
|
43
|
-
scenario.validation
|
44
|
-
}.to raise_error NoExistFailedStepInformationError
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
23
|
+
describe '#status' do
|
24
|
+
it 'return scenario status' do
|
25
|
+
expect(scenario.status).to eq 'failed'
|
48
26
|
end
|
49
27
|
end
|
50
28
|
end
|
@@ -1,51 +1,28 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
include_context 'turnip_formatter pending scenario setup'
|
3
|
+
describe TurnipFormatter::Scenario::Pending do
|
4
|
+
let(:example) { pending_example }
|
5
|
+
let(:scenario) { described_class.new(example) }
|
7
6
|
|
8
|
-
|
7
|
+
describe '#valid?' do
|
8
|
+
subject { scenario.valid? }
|
9
9
|
|
10
|
-
context '
|
11
|
-
|
12
|
-
example.execution_result[:pending_message] = 'No such step(0): '
|
13
|
-
example
|
14
|
-
end
|
15
|
-
|
16
|
-
describe '#validation' do
|
17
|
-
it 'should not raise exception' do
|
18
|
-
expect { scenario.validation }.not_to raise_error
|
19
|
-
end
|
20
|
-
end
|
10
|
+
context 'called by turnip example' do
|
11
|
+
it { should be true }
|
21
12
|
end
|
22
13
|
|
23
|
-
context '
|
24
|
-
let(:
|
25
|
-
|
14
|
+
context 'called by not turnip example' do
|
15
|
+
let(:example) do
|
16
|
+
pending_example.tap { |e| e.execution_result[:pending_message] = '' }
|
26
17
|
end
|
27
18
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
describe '#validation' do
|
32
|
-
it 'should raise exception' do
|
33
|
-
expect {
|
34
|
-
scenario.validation
|
35
|
-
}.to raise_error NotPendingScenarioError
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
19
|
+
it { should be false }
|
20
|
+
end
|
21
|
+
end
|
39
22
|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
expect {
|
44
|
-
scenario.validation
|
45
|
-
}.to raise_error NoExistPendingStepInformationError
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
23
|
+
describe '#status' do
|
24
|
+
it 'return scenario status' do
|
25
|
+
expect(scenario.status).to eq 'pending'
|
49
26
|
end
|
50
27
|
end
|
51
28
|
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'turnip_formatter/step_template/exception'
|
3
|
+
|
4
|
+
describe TurnipFormatter::StepTemplate::Base do
|
5
|
+
before do
|
6
|
+
@backup_templates = TurnipFormatter.step_templates
|
7
|
+
TurnipFormatter.step_templates.clear
|
8
|
+
end
|
9
|
+
|
10
|
+
after do
|
11
|
+
@backup_templates.each do |t|
|
12
|
+
TurnipFormatter.step_templates << t
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
context 'register step template' do
|
17
|
+
before do
|
18
|
+
Class.new(described_class) do
|
19
|
+
on_passed :build_passed
|
20
|
+
on_failed :build_failed1
|
21
|
+
on_failed :build_failed2
|
22
|
+
on_pending :build_pending
|
23
|
+
|
24
|
+
def build_passed(_)
|
25
|
+
'build_passed'
|
26
|
+
end
|
27
|
+
|
28
|
+
def build_failed1(_)
|
29
|
+
'build_failed'
|
30
|
+
end
|
31
|
+
|
32
|
+
def build_failed2(_)
|
33
|
+
'hello_world'
|
34
|
+
end
|
35
|
+
|
36
|
+
def build_pending(_)
|
37
|
+
'build_pending'
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
after do
|
43
|
+
TurnipFormatter.step_templates.pop
|
44
|
+
end
|
45
|
+
|
46
|
+
describe '.on_passed' do
|
47
|
+
subject do
|
48
|
+
TurnipFormatter.step_templates_for(:passed).map do |template, method|
|
49
|
+
template.send(method, passed_example)
|
50
|
+
end.join
|
51
|
+
end
|
52
|
+
|
53
|
+
it 'returns step document for passed' do
|
54
|
+
should eq 'build_passed'
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
describe '.on_failed' do
|
59
|
+
subject do
|
60
|
+
TurnipFormatter.step_templates_for(:failed).map do |template, method|
|
61
|
+
template.send(method, failed_example)
|
62
|
+
end.join
|
63
|
+
end
|
64
|
+
|
65
|
+
it 'returns step document for failed' do
|
66
|
+
should eq 'build_failedhello_world'
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
describe '.on_pending' do
|
71
|
+
subject do
|
72
|
+
TurnipFormatter.step_templates_for(:pending).map do |template, method|
|
73
|
+
template.send(method, pending_example)
|
74
|
+
end.join
|
75
|
+
end
|
76
|
+
|
77
|
+
it 'returns step document for failed' do
|
78
|
+
should eq 'build_pending'
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
@@ -1,25 +1,33 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
|
3
1
|
require 'spec_helper'
|
4
2
|
require 'turnip_formatter/step_template/exception'
|
5
3
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
4
|
+
describe TurnipFormatter::StepTemplate::Exception do
|
5
|
+
after do
|
6
|
+
TurnipFormatter.step_templates.pop
|
7
|
+
end
|
8
|
+
|
9
|
+
let!(:template) do
|
10
|
+
described_class.new
|
11
|
+
end
|
12
|
+
|
13
|
+
describe '#build_failed' do
|
14
|
+
subject { template.build_failed(failed_example) }
|
15
|
+
|
16
|
+
it do
|
17
|
+
expect(subject).to have_tag 'div.step_exception' do
|
18
|
+
with_tag 'pre'
|
19
|
+
with_tag 'ol > li', text: ':in step:0 `'
|
14
20
|
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
describe '#build_pending' do
|
25
|
+
subject { template.build_pending(pending_example) }
|
15
26
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
should match %r{<pre>.*#{exception.message}.*</pre>}
|
21
|
-
should match %r{<li>/path/to/error.rb: 10</li>}
|
22
|
-
end
|
27
|
+
it do
|
28
|
+
expect(subject).to have_tag 'div.step_exception' do
|
29
|
+
with_tag 'pre', text: 'No such step(0):'
|
30
|
+
with_tag 'ol > li'
|
23
31
|
end
|
24
32
|
end
|
25
33
|
end
|
@@ -1,20 +1,17 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
|
3
1
|
require 'spec_helper'
|
4
2
|
require 'turnip_formatter/step_template/source'
|
5
3
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
4
|
+
describe TurnipFormatter::StepTemplate::Source do
|
5
|
+
let(:template) do
|
6
|
+
described_class.new
|
7
|
+
end
|
8
|
+
|
9
|
+
describe '#build' do
|
10
|
+
subject { template.build(failed_example) }
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
should match '<pre class="source"><code class="ruby">'
|
16
|
-
should match "require 'turnip_formatter/step_template/source'"
|
17
|
-
end
|
12
|
+
it do
|
13
|
+
expect(subject).to have_tag 'pre.source > code.ruby' do
|
14
|
+
with_tag 'span.linenum'
|
18
15
|
end
|
19
16
|
end
|
20
17
|
end
|
data/turnip_formatter.gemspec
CHANGED
@@ -4,24 +4,28 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
require 'turnip_formatter/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
7
|
+
spec.name = 'turnip_formatter'
|
8
8
|
spec.version = TurnipFormatter::VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
11
|
-
spec.description = %q
|
12
|
-
spec.summary = %q
|
13
|
-
spec.homepage =
|
14
|
-
spec.license =
|
9
|
+
spec.authors = ['Wataru MIYAGUNI']
|
10
|
+
spec.email = ['gonngo@gmail.com']
|
11
|
+
spec.description = %q(RSpec custom formatter for Turnip)
|
12
|
+
spec.summary = %q(RSpec custom formatter for Turnip)
|
13
|
+
spec.homepage = 'https://github.com/gongo/turnip_formatter'
|
14
|
+
spec.license = 'MIT'
|
15
15
|
|
16
16
|
spec.files = `git ls-files`.split($/)
|
17
17
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
18
|
spec.test_files = spec.files.grep(%r{^spec/})
|
19
|
-
spec.require_paths = [
|
19
|
+
spec.require_paths = ['lib']
|
20
20
|
|
21
|
-
spec.add_dependency 'turnip', '~> 1.2.
|
21
|
+
spec.add_dependency 'turnip', '~> 1.2.2'
|
22
|
+
spec.add_dependency 'tilt'
|
23
|
+
spec.add_dependency 'haml'
|
22
24
|
spec.add_dependency 'sass'
|
23
|
-
spec.
|
24
|
-
spec.
|
25
|
+
spec.add_dependency 'bootstrap-sass'
|
26
|
+
spec.add_dependency 'rspec', '~> 2.14.0'
|
27
|
+
spec.add_development_dependency 'bundler', '~> 1.3'
|
28
|
+
spec.add_development_dependency 'rake'
|
25
29
|
spec.add_development_dependency 'rspec-html-matchers'
|
26
30
|
spec.add_development_dependency 'coveralls'
|
27
31
|
spec.add_development_dependency 'guard-rspec'
|