spinach 0.1.5.3 → 0.1.5.4

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/.rvmrc CHANGED
@@ -1 +1 @@
1
- rvm --create use 1.9.2@spinach
1
+ rvm --create use 1.9.3@spinach
data/README.markdown CHANGED
@@ -24,7 +24,7 @@ Start by adding spinach to your Gemfile:
24
24
 
25
25
  group :test do
26
26
  gem 'spinach'
27
- # along with gem 'minitest' or gem 'rspec'
27
+ # gem 'rspec'
28
28
  end
29
29
 
30
30
  Spinach works out-of-the-box with your favorite test suite, but you can also
@@ -136,15 +136,15 @@ after any feature, scenario or step execution.
136
136
 
137
137
  So, for example, you could:
138
138
 
139
- Spinach.before_scenario do |data|
139
+ Spinach.hooks.before_scenario do |data|
140
140
  clear_database
141
141
  end
142
142
 
143
- Spinach.on_successful_step do |step_data, location|
143
+ Spinach.hooks.on_successful_step do |step_data, location|
144
144
  count_steps(step_data)
145
145
  end
146
146
 
147
- Spinach.after_run do |status|
147
+ Spinach.hooks.after_run do |status|
148
148
  send_mail if status == 0
149
149
  end
150
150
 
@@ -161,8 +161,29 @@ Use [spinach-rails](http://github.com/codegram/spinach-rails)
161
161
 
162
162
  Check out our [spinach-sinatra demo](https://github.com/codegram/spinach-sinatra-demo)
163
163
 
164
+ ## Resources
165
+
166
+ * [Landing page](http://codegram.github.com/spinach)
167
+ * [Slides](http://codegram.github.com/spinach-presentation)
168
+ * [Blog post](http://blog.codegram.com/2011/10/how-to-achieve-more-clean-encapsulated-modular-step-definitions-with-spinach)
169
+ * [API Documentation](http://rubydoc.info/github/codegram/spinach/master/frames)
170
+ * [Google group](https://groups.google.com/forum/#!forum/spinach_bdd)
171
+
172
+ ### Related gems
173
+
174
+ * [guard-spinach](http://github.com/codegram/guard-spinach)
175
+ * [spinach-rails](http://github.com/codegram/spinach-rails)
176
+
177
+ ### Demos
178
+
179
+ * [spinach rails demo](https://github.com/codegram/spinach-rails-demo)
180
+ * [spinach sinatra demo](https://github.com/codegram/spinach-sinatra-demo)
181
+
182
+
164
183
  ## Contributing
165
184
 
185
+ * [List of spinach contributors](https://github.com/codegram/spinach/contributors)
186
+
166
187
  You can easily contribute to Spinach. Its codebase is simple and
167
188
  [extensively documented][documentation].
168
189
 
@@ -7,3 +7,8 @@ Feature: RSpec compatibility
7
7
  Given I have a feature with some failed expectations
8
8
  When I run "spinach" with rspec
9
9
  Then I should see the failure count along with their messages
10
+
11
+ Scenario: RSpec with capybara
12
+ Given I have a sinatra app with some capybara-based expectations
13
+ When I run "spinach" with rspec
14
+ Then there should be no error
@@ -25,13 +25,56 @@ class RSpecCompatibility < Spinach::FeatureSteps
25
25
  # joking!
26
26
  end
27
27
  end')
28
+ @feature = 'feature_with_failures'
28
29
  end
29
30
 
30
31
  When "I run \"spinach\" with rspec" do
31
- run_feature 'features/feature_with_failures.feature', suite: :rspec
32
+ @feature =
33
+ run_feature "features/#{@feature}.feature", suite: :rspec
32
34
  end
33
35
 
34
36
  Then "I should see the failure count along with their messages" do
35
37
  check_error_messages(1)
36
38
  end
39
+
40
+ Given 'I have a sinatra app with some capybara-based expectations' do
41
+ write_file("features/support/app.rb", '
42
+ require "sinatra"
43
+ require "spinach/capybara"
44
+ app = Sinatra::Application.new do
45
+ get "/" do
46
+ \'Hello world!\'
47
+ end
48
+ end
49
+ Capybara.app = app
50
+ ')
51
+
52
+ write_file('features/greeting.feature',
53
+ 'Feature: Greeting
54
+
55
+ Scenario: Greeting
56
+ Given I am on the front page
57
+ Then I should see hello world
58
+ ')
59
+
60
+ write_file('features/steps/greeting.rb',
61
+ 'require "spinach/capybara"
62
+ class Greeting < Spinach::FeatureSteps
63
+ include Spinach::FeatureSteps::Capybara
64
+
65
+ Given "I am on the front page" do
66
+ visit "/"
67
+ end
68
+
69
+ Then "I should see hello world" do
70
+ page.should have_content("Hello world")
71
+ end
72
+ end')
73
+ @feature = 'greeting'
74
+ end
75
+
76
+ Given 'There should be no error' do
77
+ last_exit_status.must_equal 0
78
+ end
79
+
37
80
  end
@@ -7,6 +7,11 @@ module Integration
7
7
  def self.included(base)
8
8
  Spinach.hooks.before_scenario do
9
9
  @aruba_timeout_seconds = 6
10
+ if respond_to?(:in_current_dir)
11
+ in_current_dir do
12
+ run "rm -fR rails_app"
13
+ end
14
+ end
10
15
  end
11
16
  end
12
17
 
@@ -24,6 +24,11 @@ module Spinach
24
24
  def self.included(base)
25
25
  base.class_eval do
26
26
  include ::Capybara::DSL
27
+ if defined?(RSpec)
28
+ require 'rspec/matchers'
29
+ require 'capybara/rspec'
30
+ include ::Capybara::RSpecMatchers
31
+ end
27
32
  end
28
33
  Spinach.hooks.before_scenario do
29
34
  ::Capybara.current_session.reset! if ::Capybara.app
data/lib/spinach/hooks.rb CHANGED
@@ -10,7 +10,7 @@ module Spinach
10
10
  # Runs before the entire spinach run
11
11
  #
12
12
  # @example
13
- # Spinach.before_run do
13
+ # Spinach.hooks.before_run do
14
14
  # # Whatever
15
15
  # end
16
16
  hook :before_run
@@ -18,7 +18,7 @@ module Spinach
18
18
  # Runs after the entire spinach run
19
19
  #
20
20
  # @example
21
- # Spinach.after_run do |status|
21
+ # Spinach.hooks.after_run do |status|
22
22
  # # status is true when the run is successful, false otherwise
23
23
  # end
24
24
  hook :after_run
@@ -26,7 +26,7 @@ module Spinach
26
26
  # Runs before every feature,
27
27
  #
28
28
  # @example
29
- # Spinach.before_feature do |feature_data|
29
+ # Spinach.hooks.before_feature do |feature_data|
30
30
  # # feature_data is a hash of the parsed feature data
31
31
  # end
32
32
  hook :before_feature
@@ -34,7 +34,7 @@ module Spinach
34
34
  # Runs after every feature
35
35
  #
36
36
  # @example
37
- # Spinach.after_feature do |feature_data|
37
+ # Spinach.hooks.after_feature do |feature_data|
38
38
  # # feature_data is a hash of the parsed feature data
39
39
  # end
40
40
  hook :after_feature
@@ -42,7 +42,7 @@ module Spinach
42
42
  # Runs when an undefined feature is found
43
43
  #
44
44
  # @example
45
- # Spinach.on_undefined_feature do |feature_data, exception|
45
+ # Spinach.hooks.on_undefined_feature do |feature_data, exception|
46
46
  # # feature_data is a hash of the parsed feature data
47
47
  # # exception contains the thrown exception
48
48
  # end
@@ -51,7 +51,7 @@ module Spinach
51
51
  # Runs before every scenario
52
52
  #
53
53
  # @example
54
- # Spinach.before_scenario do |scenario_data|
54
+ # Spinach.hooks.before_scenario do |scenario_data|
55
55
  # # feature_data is a hash of the parsed scenario data
56
56
  # end
57
57
  hook :before_scenario
@@ -59,7 +59,7 @@ module Spinach
59
59
  # Runs after every scenario
60
60
  #
61
61
  # @example
62
- # Spinach.after_scenario do |scenario_data|
62
+ # Spinach.hooks.after_scenario do |scenario_data|
63
63
  # # feature_data is a hash of the parsed scenario data
64
64
  # end
65
65
  hook :after_scenario
@@ -67,7 +67,7 @@ module Spinach
67
67
  # Runs before every step execution
68
68
  #
69
69
  # @example
70
- # Spinach.before_step do |step_data|
70
+ # Spinach.hooks.before_step do |step_data|
71
71
  # # step_data contains a hash with this step's data
72
72
  # end
73
73
  hook :before_step
@@ -75,7 +75,7 @@ module Spinach
75
75
  # Runs after every step execution
76
76
  #
77
77
  # @example
78
- # Spinach.before_step do |step_data|
78
+ # Spinach.hooks.before_step do |step_data|
79
79
  # # step_data contains a hash with this step's data
80
80
  # end
81
81
  hook :after_step
@@ -83,7 +83,7 @@ module Spinach
83
83
  # Runs after every successful step execution
84
84
  #
85
85
  # @example
86
- # Spinach.on_successful_step do |step_data, location|
86
+ # Spinach.hooks.on_successful_step do |step_data, location|
87
87
  # # step_data contains a hash with this step's data
88
88
  # # step_location contains a string indication this step definition's
89
89
  # # location
@@ -93,7 +93,7 @@ module Spinach
93
93
  # Runs after every failed step execution
94
94
  #
95
95
  # @example
96
- # Spinach.on_failed_step do |step_data, location|
96
+ # Spinach.hooks.on_failed_step do |step_data, location|
97
97
  # # step_data contains a hash with this step's data
98
98
  # # step_location contains a string indication this step definition's
99
99
  # # location
@@ -103,7 +103,7 @@ module Spinach
103
103
  # Runs after every step execution that raises an exception
104
104
  #
105
105
  # @example
106
- # Spinach.on_error_step do |step_data, location|
106
+ # Spinach.hooks.on_error_step do |step_data, location|
107
107
  # # step_data contains a hash with this step's data
108
108
  # # step_location contains a string indication this step definition's
109
109
  # # location
@@ -113,7 +113,7 @@ module Spinach
113
113
  # Runs every time a step which is not defined is called
114
114
  #
115
115
  # @example
116
- # Spinach.on_undefined_step do |step_data, location|
116
+ # Spinach.hooks.on_undefined_step do |step_data, location|
117
117
  # # step_data contains a hash with this step's data
118
118
  # # step_location contains a string indication this step definition's
119
119
  # # location
@@ -124,9 +124,26 @@ module Spinach
124
124
  # one just before.
125
125
  #
126
126
  # @example
127
- # Spinach.on_undefined_step do |step_data|
127
+ # Spinach.hooks.on_undefined_step do |step_data|
128
128
  # # step_data contains a hash with this step's data
129
129
  # end
130
130
  hook :on_skipped_step
131
+
132
+ # Runs before running a scenario with a particular tag
133
+ #
134
+ # @param [String] tag
135
+ # the tag to match
136
+ #
137
+ # @example
138
+ # Spinach.hooks.on_tag('javascript') do
139
+ # # change capybara driver
140
+ # end
141
+ def on_tag(tag)
142
+ before_scenario do |data|
143
+ next unless data["tags"]
144
+ tags = data["tags"].map{ |tag| tag["name"].gsub(/^@/, "") }
145
+ yield(data) if tags.include? tag.to_s
146
+ end
147
+ end
131
148
  end
132
149
  end
@@ -70,11 +70,12 @@ module Spinach
70
70
  successful
71
71
  end
72
72
 
73
- # Loads step definitions and support files.
73
+ # Loads support files and step definitions, ensuring that env.rb is loaded
74
+ # first.
74
75
  #
75
76
  # @api public
76
77
  def require_dependencies
77
- (support_files + step_definition_files).each do |file|
78
+ required_files.each do |file|
78
79
  require file
79
80
  end
80
81
  end
@@ -95,14 +96,30 @@ module Spinach
95
96
  )
96
97
  end
97
98
 
99
+ # Returns an array of support files inside the support_path. Will
100
+ # put "env.rb" in the beginning
101
+ #
98
102
  # @return [Array<String>] files
99
103
  # The support files.
100
104
  #
101
105
  # @api public
102
106
  def support_files
103
- Dir.glob(
107
+ support_files = Dir.glob(
104
108
  File.expand_path File.join(support_path, '**', '*.rb')
105
109
  )
110
+ environment_file = support_files.find do |f|
111
+ f.include?(File.join support_path, 'env.rb')
112
+ end
113
+ support_files.unshift(environment_file).compact.uniq
114
+ end
115
+
116
+ # @return [Array<String>] files
117
+ # All support files with env.rb ordered first, followed by the step
118
+ # definitions.
119
+ #
120
+ # @api public
121
+ def required_files
122
+ support_files + step_definition_files
106
123
  end
107
124
  end
108
125
  end
@@ -53,7 +53,7 @@ module Spinach
53
53
  # # => "I\'ve been bad"
54
54
  #
55
55
  def self.escape_single_commas(text)
56
- text.sub("'", "\\\\'")
56
+ text.gsub("'", "\\\\'")
57
57
  end
58
58
  end
59
59
  end
@@ -1,4 +1,4 @@
1
1
  module Spinach
2
2
  # Spinach version.
3
- VERSION = "0.1.5.3"
3
+ VERSION = "0.1.5.4"
4
4
  end
data/spinach.gemspec CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |gem|
9
9
  gem.summary = %q{Spinach is a BDD framework on top of gherkin}
10
10
  gem.homepage = "http://github.com/codegram/spinach"
11
11
 
12
- gem.add_runtime_dependency 'gherkin'
12
+ gem.add_runtime_dependency 'gherkin', '2.5.4'
13
13
  gem.add_runtime_dependency 'colorize'
14
14
  gem.add_development_dependency 'rake'
15
15
  gem.add_development_dependency 'mocha'
@@ -9,19 +9,46 @@ describe Spinach::Hooks do
9
9
  %w{before_run after_run before_feature after_feature on_undefined_feature
10
10
  before_scenario after_scenario before_step after_step on_successful_step
11
11
  on_failed_step on_error_step on_undefined_step on_skipped_step}.each do |callback|
12
- it "responds to #{callback}" do
13
- subject.must_respond_to callback
12
+ describe "#{callback}" do
13
+ it "responds to #{callback}" do
14
+ subject.must_respond_to callback
15
+ end
16
+
17
+ it "executes the hook with params" do
18
+ array = []
19
+ block = Proc.new do |arg1, arg2|
20
+ array << arg1
21
+ array << arg2
22
+ end
23
+ subject.send(callback, &block)
24
+ subject.send("run_#{callback}", 1, 2)
25
+ array.must_equal [1, 2]
26
+ end
27
+ end
28
+ end
29
+ describe "#on_tag" do
30
+ let(:data) do
31
+ {
32
+ 'tags' => [{'name' => '@javascript'}, {'name' => '@capture'}]
33
+ }
34
+ end
35
+
36
+ it "calls the block if the scenario includes the tag" do
37
+ assertion = false
38
+ subject.on_tag('javascript') do
39
+ assertion = true
40
+ end
41
+ subject.run_before_scenario(data)
42
+ assertion.must_equal true
14
43
  end
15
44
 
16
- it "executes the hook with params" do
17
- array = []
18
- block = Proc.new do |arg1, arg2|
19
- array << arg1
20
- array << arg2
45
+ it "doesn't call the block if the scenario doesn't include the tag" do
46
+ assertion = false
47
+ subject.on_tag('screenshot') do
48
+ assertion = true
21
49
  end
22
- subject.send(callback, &block)
23
- subject.send("run_#{callback}", 1, 2)
24
- array.must_equal [1, 2]
50
+ subject.run_before_scenario(data)
51
+ assertion.wont_equal true
25
52
  end
26
53
  end
27
54
  end
@@ -56,15 +56,27 @@ describe Spinach::Runner do
56
56
  runner.run
57
57
  end
58
58
  end
59
+
59
60
  describe '#require_dependencies' do
60
61
  it 'requires support files and step definitions' do
61
62
  runner.stubs(
62
- support_files: ['a', 'b'], step_definition_files: ['c', 'd']
63
+ required_files: ['a', 'b']
63
64
  )
64
- %w{a b c d}.each do |file|
65
+ %w{a b}.each do |file|
65
66
  runner.expects(:require).with(file)
66
67
  end
67
68
  runner.require_dependencies
68
69
  end
69
70
  end
71
+
72
+ describe '#required_files' do
73
+ it 'requires environment files first' do
74
+ runner.stubs(:step_definition_path).returns('steps')
75
+ runner.stubs(:support_path).returns('support')
76
+ Dir.stubs(:glob).returns(['/support/bar.rb', '/support/env.rb', '/support/quz.rb'])
77
+ runner.stubs(:step_definition_files).returns(['/steps/bar.feature'])
78
+ runner.required_files.must_equal(['/support/env.rb', '/support/bar.rb', '/support/quz.rb', '/steps/bar.feature'])
79
+ end
80
+ end
81
+
70
82
  end
@@ -59,8 +59,8 @@ describe Spinach::Support do
59
59
  describe "#escape" do
60
60
  it "escapes the name" do
61
61
  Spinach::Support.escape_single_commas(
62
- "I've been doing bad things"
63
- ).must_include "I\\'ve been doing bad things"
62
+ "I've been doing things I shouldn't be doing"
63
+ ).must_include "I\\'ve been doing things I shouldn\\'t be doing"
64
64
  end
65
65
  end
66
66
  end
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.1.5.3
4
+ version: 0.1.5.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -12,22 +12,22 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2011-10-22 00:00:00.000000000Z
15
+ date: 2011-11-01 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: gherkin
19
- requirement: &70344997199800 !ruby/object:Gem::Requirement
19
+ requirement: &70148296624980 !ruby/object:Gem::Requirement
20
20
  none: false
21
21
  requirements:
22
- - - ! '>='
22
+ - - =
23
23
  - !ruby/object:Gem::Version
24
- version: '0'
24
+ version: 2.5.4
25
25
  type: :runtime
26
26
  prerelease: false
27
- version_requirements: *70344997199800
27
+ version_requirements: *70148296624980
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: colorize
30
- requirement: &70344997199380 !ruby/object:Gem::Requirement
30
+ requirement: &70148296623440 !ruby/object:Gem::Requirement
31
31
  none: false
32
32
  requirements:
33
33
  - - ! '>='
@@ -35,10 +35,10 @@ dependencies:
35
35
  version: '0'
36
36
  type: :runtime
37
37
  prerelease: false
38
- version_requirements: *70344997199380
38
+ version_requirements: *70148296623440
39
39
  - !ruby/object:Gem::Dependency
40
40
  name: rake
41
- requirement: &70344997198960 !ruby/object:Gem::Requirement
41
+ requirement: &70148296622320 !ruby/object:Gem::Requirement
42
42
  none: false
43
43
  requirements:
44
44
  - - ! '>='
@@ -46,10 +46,10 @@ dependencies:
46
46
  version: '0'
47
47
  type: :development
48
48
  prerelease: false
49
- version_requirements: *70344997198960
49
+ version_requirements: *70148296622320
50
50
  - !ruby/object:Gem::Dependency
51
51
  name: mocha
52
- requirement: &70344997198540 !ruby/object:Gem::Requirement
52
+ requirement: &70148296619140 !ruby/object:Gem::Requirement
53
53
  none: false
54
54
  requirements:
55
55
  - - ! '>='
@@ -57,10 +57,10 @@ dependencies:
57
57
  version: '0'
58
58
  type: :development
59
59
  prerelease: false
60
- version_requirements: *70344997198540
60
+ version_requirements: *70148296619140
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: sinatra
63
- requirement: &70344997198120 !ruby/object:Gem::Requirement
63
+ requirement: &70148296617420 !ruby/object:Gem::Requirement
64
64
  none: false
65
65
  requirements:
66
66
  - - ! '>='
@@ -68,10 +68,10 @@ dependencies:
68
68
  version: '0'
69
69
  type: :development
70
70
  prerelease: false
71
- version_requirements: *70344997198120
71
+ version_requirements: *70148296617420
72
72
  - !ruby/object:Gem::Dependency
73
73
  name: capybara
74
- requirement: &70344997197700 !ruby/object:Gem::Requirement
74
+ requirement: &70148296616720 !ruby/object:Gem::Requirement
75
75
  none: false
76
76
  requirements:
77
77
  - - ! '>='
@@ -79,10 +79,10 @@ dependencies:
79
79
  version: '0'
80
80
  type: :development
81
81
  prerelease: false
82
- version_requirements: *70344997197700
82
+ version_requirements: *70148296616720
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: aruba
85
- requirement: &70344997197280 !ruby/object:Gem::Requirement
85
+ requirement: &70148296615940 !ruby/object:Gem::Requirement
86
86
  none: false
87
87
  requirements:
88
88
  - - ! '>='
@@ -90,10 +90,10 @@ dependencies:
90
90
  version: '0'
91
91
  type: :development
92
92
  prerelease: false
93
- version_requirements: *70344997197280
93
+ version_requirements: *70148296615940
94
94
  - !ruby/object:Gem::Dependency
95
95
  name: pry
96
- requirement: &70344997196860 !ruby/object:Gem::Requirement
96
+ requirement: &70148296615000 !ruby/object:Gem::Requirement
97
97
  none: false
98
98
  requirements:
99
99
  - - ! '>='
@@ -101,10 +101,10 @@ dependencies:
101
101
  version: '0'
102
102
  type: :development
103
103
  prerelease: false
104
- version_requirements: *70344997196860
104
+ version_requirements: *70148296615000
105
105
  - !ruby/object:Gem::Dependency
106
106
  name: simplecov
107
- requirement: &70344997196440 !ruby/object:Gem::Requirement
107
+ requirement: &70148296613140 !ruby/object:Gem::Requirement
108
108
  none: false
109
109
  requirements:
110
110
  - - ! '>='
@@ -112,10 +112,10 @@ dependencies:
112
112
  version: '0'
113
113
  type: :development
114
114
  prerelease: false
115
- version_requirements: *70344997196440
115
+ version_requirements: *70148296613140
116
116
  - !ruby/object:Gem::Dependency
117
117
  name: rspec
118
- requirement: &70344997196020 !ruby/object:Gem::Requirement
118
+ requirement: &70148296612020 !ruby/object:Gem::Requirement
119
119
  none: false
120
120
  requirements:
121
121
  - - ! '>='
@@ -123,10 +123,10 @@ dependencies:
123
123
  version: '0'
124
124
  type: :development
125
125
  prerelease: false
126
- version_requirements: *70344997196020
126
+ version_requirements: *70148296612020
127
127
  - !ruby/object:Gem::Dependency
128
128
  name: fakefs
129
- requirement: &70344997224000 !ruby/object:Gem::Requirement
129
+ requirement: &70148296610520 !ruby/object:Gem::Requirement
130
130
  none: false
131
131
  requirements:
132
132
  - - ! '>='
@@ -134,10 +134,10 @@ dependencies:
134
134
  version: '0'
135
135
  type: :development
136
136
  prerelease: false
137
- version_requirements: *70344997224000
137
+ version_requirements: *70148296610520
138
138
  - !ruby/object:Gem::Dependency
139
139
  name: minitest
140
- requirement: &70344997223580 !ruby/object:Gem::Requirement
140
+ requirement: &70148296608440 !ruby/object:Gem::Requirement
141
141
  none: false
142
142
  requirements:
143
143
  - - ! '>='
@@ -145,10 +145,10 @@ dependencies:
145
145
  version: '0'
146
146
  type: :development
147
147
  prerelease: false
148
- version_requirements: *70344997223580
148
+ version_requirements: *70148296608440
149
149
  - !ruby/object:Gem::Dependency
150
150
  name: turn
151
- requirement: &70344997223160 !ruby/object:Gem::Requirement
151
+ requirement: &70148296607360 !ruby/object:Gem::Requirement
152
152
  none: false
153
153
  requirements:
154
154
  - - ! '>='
@@ -156,7 +156,7 @@ dependencies:
156
156
  version: '0'
157
157
  type: :development
158
158
  prerelease: false
159
- version_requirements: *70344997223160
159
+ version_requirements: *70148296607360
160
160
  description: Spinach is a BDD framework on top of gherkin
161
161
  email:
162
162
  - info@codegram.com
@@ -263,7 +263,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
263
263
  version: '0'
264
264
  requirements: []
265
265
  rubyforge_project:
266
- rubygems_version: 1.8.6
266
+ rubygems_version: 1.8.10
267
267
  signing_key:
268
268
  specification_version: 3
269
269
  summary: Spinach is a BDD framework on top of gherkin
@@ -308,3 +308,4 @@ test_files:
308
308
  - test/spinach/support_test.rb
309
309
  - test/spinach_test.rb
310
310
  - test/test_helper.rb
311
+ has_rdoc: