spinach 0.8.7 → 0.8.8
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.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/.travis.yml +4 -0
- data/Gemfile +3 -1
- data/README.markdown +3 -0
- data/features/support/env.rb +3 -3
- data/lib/spinach/capybara.rb +32 -32
- data/lib/spinach/feature.rb +1 -0
- data/lib/spinach/parser/visitor.rb +1 -0
- data/lib/spinach/reporter/reporting.rb +9 -9
- data/lib/spinach/reporter/stdout.rb +2 -2
- data/lib/spinach/version.rb +1 -1
- data/spinach.gemspec +2 -1
- data/test/spinach/capybara_test.rb +20 -10
- data/test/spinach/parser/visitor_test.rb +6 -0
- data/test/spinach/parser_test.rb +9 -0
- data/test/spinach/reporter/stdout/error_reporting_test.rb +10 -6
- data/test/spinach/reporter/stdout_test.rb +0 -2
- data/test/spinach/runner_test.rb +1 -1
- data/test/test_helper.rb +1 -1
- metadata +44 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a4a7688b9f7af807e9ffa56dc81fbfcd284b5b15
|
4
|
+
data.tar.gz: 0b0da6bb8d6ea72ab5e51c9090c2d09f4fc0067d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4aab211a57a9c500aa89b02d277a75fa14801f60c869ab03d9f9bd723e9f2100778876f02cdeac6cacdf072de9fa28541ee77ad06dcec181b5c0c69d43122127
|
7
|
+
data.tar.gz: d5acad37f9c42283f34b73f631db893145bd2bcc9428f8f38c8f357f3c5adebd4f36eeef57894e516e4957949ba4191309b5337e8cdd1078069da3a4ecc2a724
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.1.0
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
@@ -10,7 +10,7 @@ group :test do
|
|
10
10
|
gem 'guard'
|
11
11
|
gem 'guard-minitest'
|
12
12
|
gem 'guard-spinach'
|
13
|
-
gem 'capybara'
|
13
|
+
gem 'capybara'
|
14
14
|
gem "rspec"
|
15
15
|
gem 'fakefs'
|
16
16
|
end
|
@@ -23,3 +23,5 @@ end
|
|
23
23
|
group :docs do
|
24
24
|
gem 'yard'
|
25
25
|
end
|
26
|
+
|
27
|
+
gem 'rubysl', :platforms => :rbx
|
data/README.markdown
CHANGED
@@ -4,6 +4,8 @@
|
|
4
4
|
[](http://gemnasium.com/codegram/spinach)
|
5
5
|
[](https://coveralls.io/r/codegram/spinach)
|
6
6
|
|
7
|
+
**Join a live discussion on Gitter**: [](https://gitter.im/codegram/spinach)
|
8
|
+
|
7
9
|
Spinach is a high-level BDD framework that leverages the expressive
|
8
10
|
[Gherkin language][gherkin] (used by [Cucumber][cucumber]) to help you define
|
9
11
|
executable specifications of your application or library's acceptance criteria.
|
@@ -324,6 +326,7 @@ Check out our [spinach-sinatra demo](https://github.com/codegram/spinach-sinatra
|
|
324
326
|
* [guard-spinach](http://github.com/codegram/guard-spinach)
|
325
327
|
* [spinach-rails](http://github.com/codegram/spinach-rails)
|
326
328
|
* [spinach-console-reporter](https://github.com/ywen/spinach-console-reporter) (to be used with Jenkins)
|
329
|
+
* [spring-commands-spinach](https://github.com/jvanbaarsen/spring-commands-spinach) (to be used with spring)
|
327
330
|
|
328
331
|
### Demos
|
329
332
|
|
data/features/support/env.rb
CHANGED
@@ -2,10 +2,10 @@ require 'minitest/spec'
|
|
2
2
|
require_relative 'filesystem'
|
3
3
|
|
4
4
|
require 'simplecov'
|
5
|
-
require 'coveralls'
|
6
5
|
|
7
|
-
|
8
|
-
|
6
|
+
if ENV['CI'] && !defined?(Rubinius)
|
7
|
+
require 'coveralls'
|
8
|
+
SimpleCov.formatter = Coveralls::SimpleCov::Formatter
|
9
9
|
require 'simplecov'
|
10
10
|
|
11
11
|
SimpleCov.start do
|
data/lib/spinach/capybara.rb
CHANGED
@@ -17,43 +17,43 @@ module Spinach
|
|
17
17
|
# end
|
18
18
|
#
|
19
19
|
module Capybara
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
include ::Capybara::DSL
|
29
|
-
if defined?(RSpec)
|
30
|
-
require 'rspec/matchers'
|
31
|
-
require 'capybara/rspec'
|
32
|
-
include ::Capybara::RSpecMatchers
|
33
|
-
end
|
20
|
+
class CapybaraDslDelegator
|
21
|
+
include ::Capybara::DSL
|
22
|
+
if defined?(RSpec)
|
23
|
+
require 'rspec/matchers'
|
24
|
+
require 'capybara/rspec'
|
25
|
+
include ::Capybara::RSpecMatchers
|
26
|
+
end
|
27
|
+
end
|
34
28
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
29
|
+
def visit(*args)
|
30
|
+
stream = STDOUT
|
31
|
+
old_stream = stream.dup
|
32
|
+
stream.reopen(null_device)
|
33
|
+
stream.sync = true
|
34
|
+
instance.visit *args
|
35
|
+
ensure
|
36
|
+
stream.reopen(old_stream)
|
37
|
+
end
|
44
38
|
|
45
|
-
|
46
|
-
|
39
|
+
def instance
|
40
|
+
@instance ||= CapybaraDslDelegator.new
|
41
|
+
end
|
47
42
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
43
|
+
def method_missing(m, *args)
|
44
|
+
instance.send m, *args
|
45
|
+
end
|
46
|
+
|
47
|
+
def null_device
|
48
|
+
return @null_device if defined?(@null_device)
|
53
49
|
|
54
|
-
|
55
|
-
|
50
|
+
if RbConfig::CONFIG["host_os"] =~ /mingw|mswin/
|
51
|
+
@null_device = "NUL"
|
52
|
+
else
|
53
|
+
@null_device = "/dev/null"
|
56
54
|
end
|
55
|
+
|
56
|
+
@null_device
|
57
57
|
end
|
58
58
|
end
|
59
59
|
end
|
data/lib/spinach/feature.rb
CHANGED
@@ -34,7 +34,7 @@ module Spinach
|
|
34
34
|
def report_undefined_steps
|
35
35
|
if undefined_steps.any?
|
36
36
|
error.puts "\nUndefined steps summary:\n"
|
37
|
-
report_errors('Undefined steps', undefined_steps, :
|
37
|
+
report_errors('Undefined steps', undefined_steps, :red)
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
@@ -47,9 +47,9 @@ module Spinach
|
|
47
47
|
|
48
48
|
def report_undefined_features
|
49
49
|
if undefined_features.any?
|
50
|
-
error.puts " Undefined features (#{undefined_features.length})".
|
50
|
+
error.puts " Undefined features (#{undefined_features.length})".red
|
51
51
|
undefined_features.each do |feature|
|
52
|
-
error.puts " #{feature.name}".
|
52
|
+
error.puts " #{feature.name}".red
|
53
53
|
end
|
54
54
|
end
|
55
55
|
end
|
@@ -108,7 +108,7 @@ module Spinach
|
|
108
108
|
feature, scenario, step, exception = error
|
109
109
|
summary = " #{feature.name} :: #{scenario.name} :: #{full_step step}"
|
110
110
|
if exception.kind_of?(Spinach::StepNotDefinedException)
|
111
|
-
summary.
|
111
|
+
summary.red
|
112
112
|
elsif exception.kind_of?(Spinach::StepPendingException)
|
113
113
|
summary += "\n Reason: '#{exception.reason}'\n"
|
114
114
|
summary.yellow
|
@@ -133,10 +133,10 @@ module Spinach
|
|
133
133
|
|
134
134
|
if exception.kind_of?(Spinach::StepNotDefinedException)
|
135
135
|
output << "\n"
|
136
|
-
output << " You can define it with: \n\n".
|
136
|
+
output << " You can define it with: \n\n".red
|
137
137
|
suggestion = Generators::StepGenerator.new(step).generate
|
138
138
|
suggestion.split("\n").each do |line|
|
139
|
-
output << " #{line}\n".
|
139
|
+
output << " #{line}\n".red
|
140
140
|
end
|
141
141
|
output << "\n"
|
142
142
|
elsif exception.kind_of?(Spinach::StepPendingException)
|
@@ -169,7 +169,7 @@ module Spinach
|
|
169
169
|
}.join("\n")
|
170
170
|
|
171
171
|
if exception.kind_of?(Spinach::StepNotDefinedException)
|
172
|
-
output.
|
172
|
+
output.red
|
173
173
|
elsif exception.kind_of?(Spinach::StepPendingException)
|
174
174
|
output.yellow
|
175
175
|
else
|
@@ -215,12 +215,12 @@ module Spinach
|
|
215
215
|
#
|
216
216
|
def run_summary
|
217
217
|
successful_summary = format_summary(:green, successful_steps, 'Successful')
|
218
|
-
undefined_summary = format_summary(:
|
218
|
+
undefined_summary = format_summary(:red, undefined_steps, 'Undefined')
|
219
219
|
pending_summary = format_summary(:yellow, pending_steps, 'Pending')
|
220
220
|
failed_summary = format_summary(:red, failed_steps, 'Failed')
|
221
221
|
error_summary = format_summary(:red, error_steps, 'Error')
|
222
222
|
|
223
|
-
out.puts "Steps Summary: #{successful_summary}, #{
|
223
|
+
out.puts "Steps Summary: #{successful_summary}, #{pending_summary}, #{undefined_summary}, #{failed_summary}, #{error_summary}\n\n"
|
224
224
|
out.puts "Finished in #{Time.now - @start_time} seconds" if @start_time
|
225
225
|
end
|
226
226
|
end
|
@@ -102,7 +102,7 @@ module Spinach
|
|
102
102
|
# The step in a JSON GherkinRubyRuby format
|
103
103
|
#
|
104
104
|
def on_undefined_step(step, failure, step_definitions = nil)
|
105
|
-
output_step('?', step, :
|
105
|
+
output_step('?', step, :red)
|
106
106
|
self.scenario_error = [current_feature, current_scenario, step, failure]
|
107
107
|
undefined_steps << scenario_error
|
108
108
|
end
|
@@ -134,7 +134,7 @@ module Spinach
|
|
134
134
|
lines << generator.generate
|
135
135
|
|
136
136
|
lines.split("\n").each do |line|
|
137
|
-
out.puts " #{line}".
|
137
|
+
out.puts " #{line}".red
|
138
138
|
end
|
139
139
|
out.puts "\n\n"
|
140
140
|
|
data/lib/spinach/version.rb
CHANGED
data/spinach.gemspec
CHANGED
@@ -12,10 +12,11 @@ Gem::Specification.new do |gem|
|
|
12
12
|
|
13
13
|
gem.add_runtime_dependency 'gherkin-ruby', '>= 0.3.1'
|
14
14
|
gem.add_runtime_dependency 'colorize', '0.5.8'
|
15
|
+
gem.add_runtime_dependency 'json'
|
15
16
|
gem.add_development_dependency 'rake'
|
16
17
|
gem.add_development_dependency 'mocha'
|
17
18
|
gem.add_development_dependency 'sinatra'
|
18
|
-
gem.add_development_dependency 'capybara'
|
19
|
+
gem.add_development_dependency 'capybara'
|
19
20
|
gem.add_development_dependency 'pry'
|
20
21
|
gem.add_development_dependency 'simplecov'
|
21
22
|
gem.add_development_dependency 'rspec'
|
@@ -5,16 +5,18 @@ require 'spinach'
|
|
5
5
|
require 'spinach/capybara'
|
6
6
|
require 'sinatra/base'
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
describe Spinach::FeatureSteps::Capybara do
|
9
|
+
let(:sinatra_class) do
|
10
|
+
Class.new(Sinatra::Base) do
|
11
|
+
get '/' do
|
12
|
+
'Hello world!'
|
13
|
+
end
|
14
|
+
end
|
11
15
|
end
|
12
|
-
end
|
13
16
|
|
14
|
-
describe Spinach::FeatureSteps::Capybara do
|
15
17
|
before do
|
16
18
|
Capybara.current_driver = :rack_test
|
17
|
-
Capybara.app =
|
19
|
+
Capybara.app = sinatra_class
|
18
20
|
|
19
21
|
class TestFeature < Spinach::FeatureSteps
|
20
22
|
include Spinach::FeatureSteps::Capybara
|
@@ -46,18 +48,26 @@ Feature: A test feature
|
|
46
48
|
Scenario: Another test scenario
|
47
49
|
Given Hello
|
48
50
|
Then Goodbye
|
49
|
-
""").parse
|
51
|
+
""").parse
|
50
52
|
}
|
51
53
|
|
52
54
|
let(:failing_feature) { Spinach::Parser.new("""
|
53
55
|
Feature: A test feature
|
54
56
|
Scenario: A test scenario
|
55
57
|
Given Fail
|
56
|
-
""").parse
|
58
|
+
""").parse
|
57
59
|
}
|
58
60
|
|
59
|
-
it '
|
60
|
-
@feature.
|
61
|
+
it 'responds to Capybara::DSL methods' do
|
62
|
+
@feature.respond_to?(:page).must_equal false
|
63
|
+
end
|
64
|
+
|
65
|
+
it 'does not respond to non Capybara::DSL methods' do
|
66
|
+
@feature.respond_to?(:strange).must_equal false
|
67
|
+
end
|
68
|
+
|
69
|
+
it 'raises NoMethodError when calling a non Capybara::DSL methods' do
|
70
|
+
proc { @feature.strange }.must_raise(NoMethodError)
|
61
71
|
end
|
62
72
|
|
63
73
|
it 'goes to a capybara page and returns its result' do
|
@@ -29,6 +29,7 @@ module Spinach
|
|
29
29
|
@node = stub(
|
30
30
|
scenarios: @scenarios,
|
31
31
|
name: 'Go shopping',
|
32
|
+
description: ['some non-interpreted info','from the description'],
|
32
33
|
background: @background,
|
33
34
|
tags: @tags
|
34
35
|
)
|
@@ -39,6 +40,11 @@ module Spinach
|
|
39
40
|
visitor.feature.name.must_equal 'Go shopping'
|
40
41
|
end
|
41
42
|
|
43
|
+
it 'sets the description' do
|
44
|
+
visitor.visit_Feature(@node)
|
45
|
+
visitor.feature.description.must_equal ['some non-interpreted info','from the description']
|
46
|
+
end
|
47
|
+
|
42
48
|
it 'sets the tags' do
|
43
49
|
@tags.each do |step|
|
44
50
|
step.expects(:accept).with visitor
|
data/test/spinach/parser_test.rb
CHANGED
@@ -4,6 +4,9 @@ describe Spinach::Parser do
|
|
4
4
|
before do
|
5
5
|
@contents = """
|
6
6
|
Feature: User authentication
|
7
|
+
As a developer
|
8
|
+
I expect some stuff
|
9
|
+
So that I have it
|
7
10
|
|
8
11
|
Scenario: User logs in
|
9
12
|
Given I am on the front page
|
@@ -22,6 +25,11 @@ Feature: User authentication
|
|
22
25
|
visitor.expects(:visit).with ast
|
23
26
|
@parser.parse
|
24
27
|
end
|
28
|
+
|
29
|
+
it 'includes description text in the feature' do
|
30
|
+
feature = @parser.parse
|
31
|
+
feature.description.must_equal ['As a developer', 'I expect some stuff', 'So that I have it']
|
32
|
+
end
|
25
33
|
end
|
26
34
|
|
27
35
|
describe '.open_file' do
|
@@ -31,4 +39,5 @@ Feature: User authentication
|
|
31
39
|
'feature_definition.feature')
|
32
40
|
end
|
33
41
|
end
|
42
|
+
|
34
43
|
end
|
@@ -3,7 +3,11 @@
|
|
3
3
|
require_relative '../../../test_helper'
|
4
4
|
|
5
5
|
describe Spinach::Reporter::Stdout do
|
6
|
-
let(:exception)
|
6
|
+
let(:exception) do
|
7
|
+
mock "exception" do
|
8
|
+
stubs(:message).returns "Something went wrong"
|
9
|
+
end
|
10
|
+
end
|
7
11
|
|
8
12
|
let(:error) do
|
9
13
|
[stub(name: 'My feature'),
|
@@ -93,7 +97,7 @@ describe Spinach::Reporter::Stdout do
|
|
93
97
|
it 'outputs the failing steps' do
|
94
98
|
steps = [anything]
|
95
99
|
@reporter.stubs(:undefined_steps).returns(steps)
|
96
|
-
@reporter.expects(:report_errors).with('Undefined steps', steps, :
|
100
|
+
@reporter.expects(:report_errors).with('Undefined steps', steps, :red)
|
97
101
|
|
98
102
|
@reporter.report_undefined_steps
|
99
103
|
end
|
@@ -216,11 +220,11 @@ describe Spinach::Reporter::Stdout do
|
|
216
220
|
end
|
217
221
|
|
218
222
|
describe 'when given an undefined step exception' do
|
219
|
-
it 'prints the error in
|
223
|
+
it 'prints the error in red' do
|
220
224
|
undefined_error = error
|
221
225
|
undefined_error.insert(3, Spinach::StepNotDefinedException.new(anything))
|
222
226
|
|
223
|
-
String.any_instance.expects(:
|
227
|
+
String.any_instance.expects(:red)
|
224
228
|
|
225
229
|
@reporter.summarized_error(error)
|
226
230
|
end
|
@@ -288,10 +292,10 @@ describe Spinach::Reporter::Stdout do
|
|
288
292
|
end
|
289
293
|
|
290
294
|
describe 'when given an undefined step exception' do
|
291
|
-
it 'prints the error in
|
295
|
+
it 'prints the error in red' do
|
292
296
|
undefined_exception = Spinach::StepNotDefinedException.new(stub(name: 'some step'))
|
293
297
|
|
294
|
-
String.any_instance.expects(:
|
298
|
+
String.any_instance.expects(:red)
|
295
299
|
|
296
300
|
@reporter.report_exception(undefined_exception)
|
297
301
|
end
|
data/test/spinach/runner_test.rb
CHANGED
@@ -151,7 +151,7 @@ describe Spinach::Runner do
|
|
151
151
|
['features/steps/a.rb', 'features/steps/a/a.rb', 'features/steps/z.rb', 'features/steps/z/z.rb'].each do |f|
|
152
152
|
FileUtils.touch(f)
|
153
153
|
end
|
154
|
-
runner.required_files.must_equal(['features/steps/a/a.rb', 'features/steps/z/z.rb', 'features/steps/a.rb', 'features/steps/z.rb'])
|
154
|
+
runner.required_files.must_equal(['/features/steps/a/a.rb', '/features/steps/z/z.rb', '/features/steps/a.rb', '/features/steps/z.rb'])
|
155
155
|
end
|
156
156
|
end
|
157
157
|
|
data/test/test_helper.rb
CHANGED
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.
|
4
|
+
version: 0.8.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josep Jaume Rey
|
@@ -11,20 +11,20 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2014-04-04 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: gherkin-ruby
|
18
18
|
requirement: !ruby/object:Gem::Requirement
|
19
19
|
requirements:
|
20
|
-
- -
|
20
|
+
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: 0.3.1
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
-
- -
|
27
|
+
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: 0.3.1
|
30
30
|
- !ruby/object:Gem::Dependency
|
@@ -41,116 +41,130 @@ dependencies:
|
|
41
41
|
- - '='
|
42
42
|
- !ruby/object:Gem::Version
|
43
43
|
version: 0.5.8
|
44
|
+
- !ruby/object:Gem::Dependency
|
45
|
+
name: json
|
46
|
+
requirement: !ruby/object:Gem::Requirement
|
47
|
+
requirements:
|
48
|
+
- - ">="
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: '0'
|
51
|
+
type: :runtime
|
52
|
+
prerelease: false
|
53
|
+
version_requirements: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '0'
|
44
58
|
- !ruby/object:Gem::Dependency
|
45
59
|
name: rake
|
46
60
|
requirement: !ruby/object:Gem::Requirement
|
47
61
|
requirements:
|
48
|
-
- -
|
62
|
+
- - ">="
|
49
63
|
- !ruby/object:Gem::Version
|
50
64
|
version: '0'
|
51
65
|
type: :development
|
52
66
|
prerelease: false
|
53
67
|
version_requirements: !ruby/object:Gem::Requirement
|
54
68
|
requirements:
|
55
|
-
- -
|
69
|
+
- - ">="
|
56
70
|
- !ruby/object:Gem::Version
|
57
71
|
version: '0'
|
58
72
|
- !ruby/object:Gem::Dependency
|
59
73
|
name: mocha
|
60
74
|
requirement: !ruby/object:Gem::Requirement
|
61
75
|
requirements:
|
62
|
-
- -
|
76
|
+
- - ">="
|
63
77
|
- !ruby/object:Gem::Version
|
64
78
|
version: '0'
|
65
79
|
type: :development
|
66
80
|
prerelease: false
|
67
81
|
version_requirements: !ruby/object:Gem::Requirement
|
68
82
|
requirements:
|
69
|
-
- -
|
83
|
+
- - ">="
|
70
84
|
- !ruby/object:Gem::Version
|
71
85
|
version: '0'
|
72
86
|
- !ruby/object:Gem::Dependency
|
73
87
|
name: sinatra
|
74
88
|
requirement: !ruby/object:Gem::Requirement
|
75
89
|
requirements:
|
76
|
-
- -
|
90
|
+
- - ">="
|
77
91
|
- !ruby/object:Gem::Version
|
78
92
|
version: '0'
|
79
93
|
type: :development
|
80
94
|
prerelease: false
|
81
95
|
version_requirements: !ruby/object:Gem::Requirement
|
82
96
|
requirements:
|
83
|
-
- -
|
97
|
+
- - ">="
|
84
98
|
- !ruby/object:Gem::Version
|
85
99
|
version: '0'
|
86
100
|
- !ruby/object:Gem::Dependency
|
87
101
|
name: capybara
|
88
102
|
requirement: !ruby/object:Gem::Requirement
|
89
103
|
requirements:
|
90
|
-
- -
|
104
|
+
- - ">="
|
91
105
|
- !ruby/object:Gem::Version
|
92
|
-
version:
|
106
|
+
version: '0'
|
93
107
|
type: :development
|
94
108
|
prerelease: false
|
95
109
|
version_requirements: !ruby/object:Gem::Requirement
|
96
110
|
requirements:
|
97
|
-
- -
|
111
|
+
- - ">="
|
98
112
|
- !ruby/object:Gem::Version
|
99
|
-
version:
|
113
|
+
version: '0'
|
100
114
|
- !ruby/object:Gem::Dependency
|
101
115
|
name: pry
|
102
116
|
requirement: !ruby/object:Gem::Requirement
|
103
117
|
requirements:
|
104
|
-
- -
|
118
|
+
- - ">="
|
105
119
|
- !ruby/object:Gem::Version
|
106
120
|
version: '0'
|
107
121
|
type: :development
|
108
122
|
prerelease: false
|
109
123
|
version_requirements: !ruby/object:Gem::Requirement
|
110
124
|
requirements:
|
111
|
-
- -
|
125
|
+
- - ">="
|
112
126
|
- !ruby/object:Gem::Version
|
113
127
|
version: '0'
|
114
128
|
- !ruby/object:Gem::Dependency
|
115
129
|
name: simplecov
|
116
130
|
requirement: !ruby/object:Gem::Requirement
|
117
131
|
requirements:
|
118
|
-
- -
|
132
|
+
- - ">="
|
119
133
|
- !ruby/object:Gem::Version
|
120
134
|
version: '0'
|
121
135
|
type: :development
|
122
136
|
prerelease: false
|
123
137
|
version_requirements: !ruby/object:Gem::Requirement
|
124
138
|
requirements:
|
125
|
-
- -
|
139
|
+
- - ">="
|
126
140
|
- !ruby/object:Gem::Version
|
127
141
|
version: '0'
|
128
142
|
- !ruby/object:Gem::Dependency
|
129
143
|
name: rspec
|
130
144
|
requirement: !ruby/object:Gem::Requirement
|
131
145
|
requirements:
|
132
|
-
- -
|
146
|
+
- - ">="
|
133
147
|
- !ruby/object:Gem::Version
|
134
148
|
version: '0'
|
135
149
|
type: :development
|
136
150
|
prerelease: false
|
137
151
|
version_requirements: !ruby/object:Gem::Requirement
|
138
152
|
requirements:
|
139
|
-
- -
|
153
|
+
- - ">="
|
140
154
|
- !ruby/object:Gem::Version
|
141
155
|
version: '0'
|
142
156
|
- !ruby/object:Gem::Dependency
|
143
157
|
name: minitest
|
144
158
|
requirement: !ruby/object:Gem::Requirement
|
145
159
|
requirements:
|
146
|
-
- -
|
160
|
+
- - ">="
|
147
161
|
- !ruby/object:Gem::Version
|
148
162
|
version: '0'
|
149
163
|
type: :development
|
150
164
|
prerelease: false
|
151
165
|
version_requirements: !ruby/object:Gem::Requirement
|
152
166
|
requirements:
|
153
|
-
- -
|
167
|
+
- - ">="
|
154
168
|
- !ruby/object:Gem::Version
|
155
169
|
version: '0'
|
156
170
|
description: Spinach is a BDD framework on top of gherkin
|
@@ -165,11 +179,11 @@ executables:
|
|
165
179
|
extensions: []
|
166
180
|
extra_rdoc_files: []
|
167
181
|
files:
|
168
|
-
- .document
|
169
|
-
- .gitignore
|
170
|
-
- .ruby-gemset
|
171
|
-
- .ruby-version
|
172
|
-
- .travis.yml
|
182
|
+
- ".document"
|
183
|
+
- ".gitignore"
|
184
|
+
- ".ruby-gemset"
|
185
|
+
- ".ruby-version"
|
186
|
+
- ".travis.yml"
|
173
187
|
- CHANGELOG.md
|
174
188
|
- Gemfile
|
175
189
|
- Guardfile
|
@@ -284,17 +298,17 @@ require_paths:
|
|
284
298
|
- lib
|
285
299
|
required_ruby_version: !ruby/object:Gem::Requirement
|
286
300
|
requirements:
|
287
|
-
- -
|
301
|
+
- - ">="
|
288
302
|
- !ruby/object:Gem::Version
|
289
303
|
version: '0'
|
290
304
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
291
305
|
requirements:
|
292
|
-
- -
|
306
|
+
- - ">="
|
293
307
|
- !ruby/object:Gem::Version
|
294
308
|
version: '0'
|
295
309
|
requirements: []
|
296
310
|
rubyforge_project:
|
297
|
-
rubygems_version: 2.
|
311
|
+
rubygems_version: 2.2.0
|
298
312
|
signing_key:
|
299
313
|
specification_version: 4
|
300
314
|
summary: Spinach is a BDD framework on top of gherkin
|