spinach 0.8.2 → 0.8.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5b707d1189dcf7e14b981a5c71720a2c5e15535c
4
- data.tar.gz: c446d9797269a2a2ac125a6a38f13b4afa8573c8
3
+ metadata.gz: 83c66a61a7a2acb9a68481350f9eb89d95e48eec
4
+ data.tar.gz: 7e2f76bef3a0796aa342bb9bdd0f1589de02e678
5
5
  SHA512:
6
- metadata.gz: 3cb1779c57669967a3996b12e99359af58029e0447614bc6b08e4d97b2ce9a38fa1b301cba09a27d6e71a51f6da8c45d742c91de1f3c3edc2782a1720afb0020
7
- data.tar.gz: 56d2b4fa3ebf70c65e9d5b19306171cd0c6be991a62c234053b824f261287212aeaef3705c97a1e705602e3d2e7c4e6972cb1013a4404798bc2ed29eb3f37895
6
+ metadata.gz: 68e0b156aa56a28d06cae2585f6504fda3648ea943db9fb5ccc33ecf5afc2ab9e2be16cd55187f0bc18febd3ab147d25263a7a2130d82c576696ff8b441c09ef
7
+ data.tar.gz: fdd2eec1dc6d73374f6bbbb7c6b8610c0f73d56cb3110c8e01fb2cf60a46a912a506c09a0abb03173dccb9011b68842691cfc50b240eca9e223370e9d1fb8e16
data/.gitignore CHANGED
@@ -17,3 +17,4 @@ test/version_tmp
17
17
  tmp
18
18
  capybara-*.html
19
19
  Gemfile.lock
20
+ tags
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.0.0
1
+ 2.0.0-p0
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ == 0.8.3
2
+ * Add ```--fail-fast``` option. When specified, the suite will terminate after the first failed scenario
3
+
1
4
  == 0.8.2
2
5
  * upgrade to gherkin-ruby 0.3 in order to avoid naming conflicts when using at
3
6
  the same time spinach & cucumber (transitioning)
@@ -51,4 +54,4 @@ the same time spinach & cucumber (transitioning)
51
54
  * Add docs on how to use shared steps.
52
55
 
53
56
  * deprecations
54
- * Nothing
57
+ * Nothing
data/Gemfile CHANGED
@@ -4,6 +4,7 @@ source 'http://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  gem 'rake'
7
+ gem 'coveralls', require: false
7
8
 
8
9
  group :test do
9
10
  gem 'guard'
data/README.markdown CHANGED
@@ -1,4 +1,8 @@
1
- # Spinach - BDD framework on top of Gherkin [![Build Status](https://secure.travis-ci.org/codegram/spinach.png)](http://travis-ci.org/codegram/spinach) [![Dependency Status](https://gemnasium.com/codegram/spinach.png)](http://gemnasium.com/codegram/spinach)
1
+ # Spinach - BDD framework on top of Gherkin
2
+ [![Gem Version](https://badge.fury.io/rb/spinach.png)](http://badge.fury.io/rb/spinach)
3
+ [![Build Status](https://secure.travis-ci.org/codegram/spinach.png)](http://travis-ci.org/codegram/spinach)
4
+ [![Dependency Status](https://gemnasium.com/codegram/spinach.png)](http://gemnasium.com/codegram/spinach)
5
+ [![Coverage Status](https://coveralls.io/repos/codegram/spinach/badge.png?branch=master)](https://coveralls.io/r/codegram/spinach)
2
6
 
3
7
  Spinach is a high-level BDD framework that leverages the expressive
4
8
  [Gherkin language][gherkin] (used by [Cucumber][cucumber]) to help you define
@@ -12,8 +16,7 @@ Conceived as an alternative to Cucumber, here are some of its design goals:
12
16
  * Step reusability: In case you want to reuse steps across features, you can
13
17
  always wrap those in plain ol' Ruby modules.
14
18
 
15
- Spinach is tested against **MRI 1.9.3 and 2.0.0**. Rubinius 2.0 support
16
- is on the works.
19
+ Spinach is tested against **MRI 1.9.3 and 2.0.0**.
17
20
 
18
21
  We are not planning to make it compatible with MRI 1.8.7 since, you know, this
19
22
  would be irresponsible :)
@@ -162,6 +165,8 @@ This is one way to make that reusable:
162
165
  # ... features/steps/common_steps/login.rb
163
166
  module CommonSteps
164
167
  module Login
168
+ include Spinach::DSL
169
+
165
170
  step 'I am logged in' do
166
171
  # log in stuff...
167
172
  end
@@ -349,3 +354,7 @@ You can easily contribute to Spinach. Its codebase is simple and
349
354
  ## License
350
355
 
351
356
  MIT License. Copyright 2011 [Codegram Technologies](http://codegram.com)
357
+
358
+
359
+ [![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/codegram/spinach/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
360
+
@@ -0,0 +1,10 @@
1
+ Feature: Fail fast option
2
+ In order to save running time
3
+ As a developer
4
+ I want spinach to fail fast when I so desire
5
+
6
+ Scenario: fail fast
7
+ Given I have a feature that has a failure
8
+ And I have a feature that has no error or failure
9
+ When I run both of them with fail-fast option
10
+ Then the tests stop at the first one
@@ -5,36 +5,11 @@ class ExitStatus < Spinach::FeatureSteps
5
5
  include Integration::SpinachRunner
6
6
 
7
7
  Given "I have a feature that has no error or failure" do
8
- write_file('features/success_feature.feature', """
9
- Feature: A success feature
10
-
11
- Scenario: This is scenario will succeed
12
- Then I succeed
13
- """)
14
- write_file('features/steps/success_feature.rb',
15
- 'class ASuccessFeature < Spinach::FeatureSteps
16
- feature "A success feature"
17
- Then "I succeed" do
18
- end
19
- end')
20
- @feature = "features/success_feature.feature"
8
+ @feature = Integration::FeatureGenerator.success_feature
21
9
  end
22
10
 
23
11
  Given "I have a feature that has a failure" do
24
- write_file('features/failure_feature.feature', """
25
- Feature: A failure feature
26
-
27
- Scenario: This is scenario will fail
28
- Then I fail
29
- """)
30
- write_file('features/steps/failure_feature.rb',
31
- 'class AFailureFeature < Spinach::FeatureSteps
32
- feature "A failure feature"
33
- Then "I fail" do
34
- true.must_equal false
35
- end
36
- end')
37
- @feature = "features/failure_feature.feature"
12
+ @feature = Integration::FeatureGenerator.failure_feature
38
13
  end
39
14
 
40
15
  When "I run it" do
@@ -0,0 +1,21 @@
1
+ class Spinach::Features::FailFastOption < Spinach::FeatureSteps
2
+ include Integration::SpinachRunner
3
+
4
+ step 'I have a feature that has a failure' do
5
+ @features ||= []
6
+ @features << Integration::FeatureGenerator.failure_feature_with_two_scenarios
7
+ end
8
+
9
+ step 'I have a feature that has no error or failure' do
10
+ @features ||= []
11
+ @features << Integration::FeatureGenerator.success_feature
12
+ end
13
+
14
+ step 'I run both of them with fail-fast option' do
15
+ run_feature @features.join(" "), append: '--fail-fast'
16
+ end
17
+
18
+ step 'the tests stop at the first one' do
19
+ @stdout.must_match("(0) Successful")
20
+ end
21
+ end
@@ -29,8 +29,7 @@ Feature: Feature with failures
29
29
 
30
30
  Scenario: This scenario will fail
31
31
  Given true is false
32
- Then remove all the files in my hard drive
33
- """)
32
+ Then remove all the files in my hard drive""")
34
33
 
35
34
  write_file('features/steps/failure_feature.rb',
36
35
  'class FeatureWithFailures < Spinach::FeatureSteps
@@ -1,6 +1,20 @@
1
1
  require 'minitest/spec'
2
2
  require_relative 'filesystem'
3
3
 
4
+ require 'simplecov'
5
+ require 'coveralls'
6
+
7
+ SimpleCov.formatter = Coveralls::SimpleCov::Formatter
8
+ if ENV['CI']
9
+ require 'simplecov'
10
+
11
+ SimpleCov.start do
12
+ add_filter '/test/'
13
+ add_filter '/features/'
14
+ end
15
+ end
16
+
17
+
4
18
  Spinach.hooks.after_run do |scenario|
5
19
  FileUtils.rm_rf(Filesystem.dirs)
6
20
  end
@@ -0,0 +1,115 @@
1
+ module Integration
2
+ class FeatureGenerator
3
+ class << self
4
+ include Filesystem
5
+
6
+ # Generate a feature with 1 scenario that should pass
7
+ #
8
+ # @return feature_filename
9
+ # The feature file name
10
+ #
11
+ # @api private
12
+ def success_feature
13
+ feature= success_scenario_title + success_scenario
14
+ steps = success_step_class_str + success_step + "\nend"
15
+ write_feature 'features/success_feature.feature', feature,
16
+ 'features/steps/success_feature.rb', steps
17
+ end
18
+
19
+ # Generate a feature that has 2 scenarios. The first one should
20
+ # pass and the second one should fail
21
+ #
22
+ # @return feature_filename
23
+ # The feature file name
24
+ #
25
+ # @api private
26
+ def failure_feature_with_two_scenarios
27
+ feature = failure_feature_title + failure_sceario + success_scenario
28
+ steps = failure_step + success_step + "\nend"
29
+ write_feature failure_filename, feature,
30
+ failure_step_filename, steps
31
+ end
32
+
33
+ # Generate a feature with 1 scenario that should fail
34
+ #
35
+ # @return feature_filename
36
+ # The feature file name
37
+ #
38
+ # @api private
39
+ def failure_feature
40
+ feature = failure_feature_title + failure_sceario
41
+ write_feature failure_filename, feature,
42
+ failure_step_filename, failure_step + "\nend"
43
+ end
44
+
45
+ private
46
+
47
+ # Write feature file and its associated step file
48
+ # @param feature_file
49
+ # The name of the feature file to be written to
50
+ # @param feature
51
+ # The string to be written into the feature file
52
+ # @param step_file
53
+ # The name of the step ruby file to be written to
54
+ # @param steps
55
+ # The string to be written into the step file
56
+ #
57
+ # @return feature_filename
58
+ # The feature file name
59
+ #
60
+ # @api private
61
+ def write_feature(feature_file, feature, step_file, steps)
62
+ write_file(feature_file, feature)
63
+ write_file(step_file, steps)
64
+ feature_file
65
+ end
66
+
67
+ def failure_step
68
+ 'class AFailureFeature < Spinach::FeatureSteps
69
+ feature "A failure feature"
70
+ Then "I fail" do
71
+ true.must_equal false
72
+ end'
73
+ end
74
+
75
+ def success_scenario
76
+ 'Scenario: This is scenario will succeed
77
+ Then I succeed'
78
+ end
79
+
80
+ def success_scenario_title
81
+ "Feature: A success feature\n\n"
82
+ end
83
+
84
+ def success_step
85
+ '
86
+ step "I succeed" do
87
+ end'
88
+ end
89
+
90
+ def success_step_class_str
91
+ %Q|class ASuccessFeature < Spinach::FeatureSteps
92
+ feature "A success feature"\n\n|
93
+ end
94
+
95
+ def failure_step_filename
96
+ 'features/steps/failure_feature.rb'
97
+ end
98
+
99
+ def failure_filename
100
+ "features/failure_feature.feature"
101
+ end
102
+
103
+ def failure_feature_title
104
+ "Feature: A failure feature\n\n"
105
+ end
106
+
107
+ def failure_sceario
108
+ """
109
+ Scenario: This is scenario will fail
110
+ Then I fail
111
+ """
112
+ end
113
+ end
114
+ end
115
+ end
@@ -1,6 +1,7 @@
1
1
  require 'capybara'
2
2
  require 'capybara/dsl'
3
3
  require 'rbconfig'
4
+ require 'spinach/config'
4
5
  require_relative 'feature_steps'
5
6
 
6
7
  module Spinach
@@ -59,7 +60,7 @@ module Spinach
59
60
  end
60
61
 
61
62
  Spinach.hooks.after_scenario do
62
- ::Capybara.current_session.reset! if ::Capybara.app
63
+ ::Capybara.reset_sessions! if ::Capybara.app
63
64
  ::Capybara.use_default_driver
64
65
  end
65
66
 
data/lib/spinach/cli.rb CHANGED
@@ -126,6 +126,11 @@ module Spinach
126
126
  'Formatter class name') do |class_name|
127
127
  config[:reporter_class] = reporter_class(class_name)
128
128
  end
129
+
130
+ opts.on_tail('--fail-fast',
131
+ 'Terminate the suite run on the first failure') do |class_name|
132
+ config[:fail_fast] = true
133
+ end
129
134
  end.parse!(@args)
130
135
 
131
136
  Spinach.config.parse_from_file
@@ -32,7 +32,8 @@ module Spinach
32
32
  :generate,
33
33
  :save_and_open_page_on_failure,
34
34
  :reporter_class,
35
- :reporter_options
35
+ :reporter_options,
36
+ :fail_fast
36
37
 
37
38
 
38
39
  # The "features path" holds the place where your features will be
@@ -131,6 +132,17 @@ module Spinach
131
132
  @failure_exceptions ||= []
132
133
  end
133
134
 
135
+ # The "fail_fast" determines if the suite run should exit
136
+ # when encountering a failure/error
137
+ #
138
+ # @return [true/false]
139
+ # The fail_fast flag.
140
+ #
141
+ # @api public
142
+ def fail_fast
143
+ @fail_fast
144
+ end
145
+
134
146
  # It allows you to set a config file to parse for all the other options to be set
135
147
  #
136
148
  # @return [String]
data/lib/spinach/hooks.rb CHANGED
@@ -83,7 +83,7 @@ module Spinach
83
83
  # Runs after every step execution
84
84
  #
85
85
  # @example
86
- # Spinach.hooks.before_step do |step_data, step_definitions|
86
+ # Spinach.hooks.after_step do |step_data, step_definitions|
87
87
  # # step_data contains a hash with this step's data
88
88
  # end
89
89
  hook :after_step
@@ -75,6 +75,7 @@ module Spinach
75
75
  feature = Parser.open_file(filename).parse
76
76
  success = FeatureRunner.new(feature, line).run
77
77
  successful = false unless success
78
+ break if fail_fast? && !successful
78
79
  end
79
80
 
80
81
  Spinach.hooks.run_after_run(successful)
@@ -133,6 +134,12 @@ module Spinach
133
134
  def required_files
134
135
  support_files + step_definition_files
135
136
  end
137
+
138
+ private
139
+
140
+ def fail_fast?
141
+ Spinach.config.fail_fast
142
+ end
136
143
  end
137
144
  end
138
145
 
@@ -68,6 +68,7 @@ module Spinach
68
68
  if run_scenario?(scenario, current_scenario_index)
69
69
  success = ScenarioRunner.new(scenario).run
70
70
  @failed = true unless success
71
+ break if Spinach.config.fail_fast && @failed
71
72
  end
72
73
  end
73
74
  end
@@ -1,4 +1,4 @@
1
1
  module Spinach
2
2
  # Spinach version.
3
- VERSION = "0.8.2"
3
+ VERSION = "0.8.3"
4
4
  end
data/spinach.gemspec CHANGED
@@ -19,7 +19,6 @@ Gem::Specification.new do |gem|
19
19
  gem.add_development_dependency 'simplecov'
20
20
  gem.add_development_dependency 'rspec'
21
21
  gem.add_development_dependency 'minitest'
22
- gem.add_development_dependency 'turn'
23
22
 
24
23
  gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
25
24
  gem.files = `git ls-files`.split("\n")
@@ -21,6 +21,14 @@ describe Spinach::Cli do
21
21
  config[:reporter_options].must_equal({})
22
22
  end
23
23
 
24
+ it 'sets the default fail-fast option to false' do
25
+ config = Spinach::Config.new
26
+ Spinach.stubs(:config).returns(config)
27
+ cli = Spinach::Cli.new([])
28
+ cli.options
29
+ config[:fail_fast].wont_equal(true)
30
+ end
31
+
24
32
  it 'sets default tags' do
25
33
  config = Spinach::Config.new
26
34
  Spinach.stubs(:config).returns(config)
@@ -154,6 +162,15 @@ tags:
154
162
  end
155
163
  end
156
164
 
165
+ describe 'fail-fast' do
166
+ it 'set the fail_fast flag, given "--fail-fast"' do
167
+ config = Spinach::Config.new
168
+ Spinach.stubs(:config).returns(config)
169
+ Spinach::Cli.new(["--fail-fast"]).options
170
+ config.fail_fast.must_equal true
171
+ end
172
+ end
173
+
157
174
  describe "version" do
158
175
  %w{-v --version}.each do |opt|
159
176
  it "outputs the version" do
@@ -256,7 +273,7 @@ tags:
256
273
 
257
274
  File.stubs(:directory?).returns(true)
258
275
  Dir.expects(:glob).with('path/to/features/**/*.feature')
259
- .returns(['several features'])
276
+ .returns(['several features'])
260
277
 
261
278
  File.stubs(:exists?).returns(true)
262
279
 
@@ -70,6 +70,22 @@ describe Spinach::Runner::FeatureRunner do
70
70
 
71
71
  @runner.run.must_equal false
72
72
  end
73
+
74
+ describe "with config option fail_fast set" do
75
+ let(:runners) { [ stub('runner1', run: false), stub('runner2') ] }
76
+
77
+ before(:each) do
78
+ Spinach.config.stubs(:fail_fast).returns(true)
79
+ @scenarios.each_with_index do |scenario, i|
80
+ Spinach::Runner::ScenarioRunner.stubs(:new).with(scenario).returns runners[i]
81
+ end
82
+ end
83
+
84
+ it "breaks with fail_fast config option" do
85
+ runners[1].expects(:run).never
86
+ @runner.run.must_equal(false)
87
+ end
88
+ end
73
89
  end
74
90
  end
75
91
 
@@ -43,7 +43,7 @@ module Spinach
43
43
  step_definitions.stubs(:before_each)
44
44
  step_definitions.stubs(:after_each)
45
45
  end
46
-
46
+
47
47
  it 'runs hooks in order' do
48
48
  hooks = sequence('hooks')
49
49
 
@@ -72,12 +72,12 @@ describe Spinach::Runner do
72
72
  end
73
73
 
74
74
  describe '#run' do
75
- before do
75
+ before(:each) do
76
76
  @feature_runner = stub
77
77
  filenames.each do |filename|
78
- Spinach::Parser.expects(:open_file).with(filename).returns parser = stub
78
+ Spinach::Parser.stubs(:open_file).with(filename).returns parser = stub
79
79
  parser.stubs(:parse).returns feature = stub
80
- Spinach::Runner::FeatureRunner.expects(:new).
80
+ Spinach::Runner::FeatureRunner.stubs(:new).
81
81
  with(feature, anything).
82
82
  returns(@feature_runner)
83
83
  end
@@ -100,6 +100,35 @@ describe Spinach::Runner do
100
100
  @feature_runner.stubs(:run).returns(false)
101
101
  runner.run.must_equal false
102
102
  end
103
+
104
+ describe "when fail_fast set" do
105
+ let(:feature_runners) { [ stub, stub ] }
106
+
107
+ before(:each) do
108
+ filenames.each_with_index do |filename, i|
109
+ Spinach::Parser.stubs(:open_file).with(filename).returns parser = stub
110
+ parser.stubs(:parse).returns feature = stub
111
+ Spinach::Runner::FeatureRunner.stubs(:new).
112
+ with(feature, anything).
113
+ returns(feature_runners[i])
114
+ end
115
+
116
+ feature_runners[0].stubs(:run).returns(false)
117
+ runner.stubs(required_files: [])
118
+ Spinach.config.stubs(:fail_fast).returns true
119
+ end
120
+
121
+ it "breaks with a failure" do
122
+ feature_runners[1].expects(:run).never
123
+ runner.run.must_equal false
124
+ end
125
+
126
+ it "doesn't break when success" do
127
+ feature_runners[0].stubs(:run).returns(true)
128
+ feature_runners[1].expects(:run).returns true
129
+ runner.run.must_equal true
130
+ end
131
+ end
103
132
  end
104
133
 
105
134
  describe '#require_dependencies' do
data/test/test_helper.rb CHANGED
@@ -1,6 +1,8 @@
1
- gem 'minitest'
1
+ require 'simplecov'
2
+ require 'coveralls'
2
3
 
3
- if ENV['COVERAGE']
4
+ SimpleCov.formatter = Coveralls::SimpleCov::Formatter
5
+ if ENV['CI']
4
6
  require 'simplecov'
5
7
 
6
8
  SimpleCov.start do
@@ -9,13 +11,12 @@ if ENV['COVERAGE']
9
11
  end
10
12
  end
11
13
 
12
- require 'minitest/spec'
13
14
  require 'minitest/autorun'
15
+ require 'minitest/spec'
14
16
  require 'mocha/setup'
15
17
  require 'ostruct'
16
18
  require 'stringio'
17
19
  require 'pry'
18
- require 'turn'
19
20
 
20
21
  require 'spinach'
21
22
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spinach
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.2
4
+ version: 0.8.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2013-04-19 00:00:00.000000000 Z
14
+ date: 2013-06-04 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: gherkin-ruby
@@ -153,20 +153,6 @@ dependencies:
153
153
  - - '>='
154
154
  - !ruby/object:Gem::Version
155
155
  version: '0'
156
- - !ruby/object:Gem::Dependency
157
- name: turn
158
- requirement: !ruby/object:Gem::Requirement
159
- requirements:
160
- - - '>='
161
- - !ruby/object:Gem::Version
162
- version: '0'
163
- type: :development
164
- prerelease: false
165
- version_requirements: !ruby/object:Gem::Requirement
166
- requirements:
167
- - - '>='
168
- - !ruby/object:Gem::Version
169
- version: '0'
170
156
  description: Spinach is a BDD framework on top of gherkin
171
157
  email:
172
158
  - info@codegram.com
@@ -195,6 +181,7 @@ files:
195
181
  - features/before_and_after_hooks.feature
196
182
  - features/before_and_after_hooks_inheritance.feature
197
183
  - features/exit_status.feature
184
+ - features/fail_fast.feature
198
185
  - features/feature_name_guessing.feature
199
186
  - features/reporting/customized_reporter.feature
200
187
  - features/reporting/display_run_summary.feature
@@ -208,6 +195,7 @@ files:
208
195
  - features/steps/before_and_after_hooks.rb
209
196
  - features/steps/before_and_after_hooks_inheritance.rb
210
197
  - features/steps/exit_status.rb
198
+ - features/steps/fail_fast_option.rb
211
199
  - features/steps/feature_name_guessing.rb
212
200
  - features/steps/reporting/display_run_summary.rb
213
201
  - features/steps/reporting/error_reporting.rb
@@ -218,6 +206,7 @@ files:
218
206
  - features/steps/rspec_compatibility.rb
219
207
  - features/support/env.rb
220
208
  - features/support/error_reporting.rb
209
+ - features/support/feature_generator.rb
221
210
  - features/support/filesystem.rb
222
211
  - features/support/spinach_runner.rb
223
212
  - lib/spinach.rb
@@ -311,6 +300,7 @@ test_files:
311
300
  - features/before_and_after_hooks.feature
312
301
  - features/before_and_after_hooks_inheritance.feature
313
302
  - features/exit_status.feature
303
+ - features/fail_fast.feature
314
304
  - features/feature_name_guessing.feature
315
305
  - features/reporting/customized_reporter.feature
316
306
  - features/reporting/display_run_summary.feature
@@ -324,6 +314,7 @@ test_files:
324
314
  - features/steps/before_and_after_hooks.rb
325
315
  - features/steps/before_and_after_hooks_inheritance.rb
326
316
  - features/steps/exit_status.rb
317
+ - features/steps/fail_fast_option.rb
327
318
  - features/steps/feature_name_guessing.rb
328
319
  - features/steps/reporting/display_run_summary.rb
329
320
  - features/steps/reporting/error_reporting.rb
@@ -334,6 +325,7 @@ test_files:
334
325
  - features/steps/rspec_compatibility.rb
335
326
  - features/support/env.rb
336
327
  - features/support/error_reporting.rb
328
+ - features/support/feature_generator.rb
337
329
  - features/support/filesystem.rb
338
330
  - features/support/spinach_runner.rb
339
331
  - test/spinach/background_test.rb
@@ -365,4 +357,3 @@ test_files:
365
357
  - test/spinach_test.rb
366
358
  - test/support/filesystem.rb
367
359
  - test/test_helper.rb
368
- has_rdoc: