Skip to content

Commit

Permalink
Cover Scenario::{Failure,Pending}#scenario
Browse files Browse the repository at this point in the history
  • Loading branch information
gongo committed Sep 21, 2014
1 parent a0f6148 commit 6b80b47
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 10 deletions.
21 changes: 12 additions & 9 deletions spec/support/example_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,20 @@ def passed_example
end

def failed_example
example = base_example { expect(true).to be false }
example.exception.backtrace.push ':in step:0 `'
example
base_example { expect(true).to be false }
end

def pending_example
if ::RSpec::Version::STRING >= '2.99.0'
base_example { skip('No such step(0): ') }
else
base_example { pending('No such step(0): ') }
end
example = if ::RSpec::Version::STRING >= '2.99.0'
base_example { skip('No such step(0): ') }
else
base_example { pending('No such step(0): ') }
end

# Turnip::Rspec::Execute#run_step
example.metadata[:line_number] = 10
example.metadata[:location] = "#{example.metadata[:file_path]}:10"
example
end

private
Expand All @@ -24,7 +27,7 @@ def base_example(&assertion)
example = group.example('example', example_metadata, &assertion)
example.metadata[:file_path] = '/path/to/hoge.feature'

instance_eval <<-EOS, example.metadata[:file_path], 1
instance_eval <<-EOS, example.metadata[:file_path], 10
group.run(NoopObject.new)
EOS

Expand Down
23 changes: 23 additions & 0 deletions spec/turnip_formatter/scenario/failure_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,29 @@
let(:example) { failed_example }
let(:scenario) { described_class.new(example) }

describe '#steps' do
let(:example) do
example = failed_example
example.metadata[:turnip_formatter] = {
steps: [
Turnip::Builder::Step.new('Step 1', [], 1, 'When'),
Turnip::Builder::Step.new('Step 2', [], 3, 'When'),
Turnip::Builder::Step.new('Step 3', [], 10, 'When'), # failed line
Turnip::Builder::Step.new('Step 4', [], 11, 'When'),
Turnip::Builder::Step.new('Step 5', [], 12, 'When')
],
tags: []
}
example
end

it 'should return steps that has status' do
expect = [:passed, :passed, :failed, :unexecuted, :unexecuted]
actual = scenario.steps.map(&:status)
expect(actual).to eq expect
end
end

describe '#valid?' do
subject { scenario.valid? }

Expand Down
23 changes: 23 additions & 0 deletions spec/turnip_formatter/scenario/pending_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,29 @@
let(:example) { pending_example }
let(:scenario) { described_class.new(example) }

describe '#steps' do
let(:example) do
example = pending_example
example.metadata[:turnip_formatter] = {
steps: [
Turnip::Builder::Step.new('Step 1', [], 1, 'When'),
Turnip::Builder::Step.new('Step 2', [], 3, 'When'),
Turnip::Builder::Step.new('Step 3', [], 10, 'When'), # pending line
Turnip::Builder::Step.new('Step 4', [], 11, 'When'),
Turnip::Builder::Step.new('Step 5', [], 12, 'When')
],
tags: []
}
example
end

it 'should return steps that has status' do
expect = [:passed, :passed, :pending, :unexecuted, :unexecuted]
actual = scenario.steps.map(&:status)
expect(actual).to eq expect
end
end

describe '#valid?' do
subject { scenario.valid? }

Expand Down
2 changes: 1 addition & 1 deletion spec/turnip_formatter/step_template/exception_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
it do
expect(subject).to have_tag 'div.step_exception' do
with_tag 'pre'
with_tag 'ol > li', text: ':in step:0 `'
with_tag 'ol > li'
end
end
end
Expand Down

0 comments on commit 6b80b47

Please sign in to comment.