turnip 3.0.0 → 4.2.0

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
- SHA1:
3
- metadata.gz: 6a00c53fa38cd0680b3a679b5d549ef120864b6e
4
- data.tar.gz: 865af33f390825e03f7f606e8fd856c2c53b32b7
2
+ SHA256:
3
+ metadata.gz: c86f0ce3b7829fd47b7383b07a322c1726f84c91b5da26882e7595ff9113c6d2
4
+ data.tar.gz: 35fd833aac33e1eab40239bdfac960f63c762ac6c5fcdc990cfc8a4669f927cc
5
5
  SHA512:
6
- metadata.gz: f9e80894edb9d59fc914e6be6ffe9a3ee0c7586e522922575d475c3aba366a85ce07d09a7f2927f382e46e079fd83c62e7d3e0e81609aca38f80a4abbb4e1d26
7
- data.tar.gz: dc6c50896273921d2e60f6b85e0b8de654c8e9afe50d6c9ebf438c677cfe17895cc8d08fcf868e3883f847d48b1bf93b74c1d6a577b94feddc6277f2beeada45
6
+ metadata.gz: 7dff32468733fbdc9998ece81cea23877098f51e24f2a06d32da65ac3fb7afe4beb22f2f45bce45ee3e1e5961193b3bb859cccee8fb72266de83dfddfe187441
7
+ data.tar.gz: 7a3123de579bf41c9a8aeee4ef04cb9f25814c90e051b77a15319cff29f935634256f4d845668ac8ea83b6782ed0251d2354563023c9a58035a1f6a5730610b6
@@ -0,0 +1,24 @@
1
+ name: Test
2
+ on: [push, pull_request]
3
+ jobs:
4
+ test:
5
+ strategy:
6
+ fail-fast: false
7
+ matrix:
8
+ ruby:
9
+ - '2.5'
10
+ - '2.6'
11
+ - '2.7'
12
+ - jruby
13
+ gemfiles:
14
+ - gemfiles/Gemfile-rspec-3.7.x
15
+ - gemfiles/Gemfile-rspec-3.8.x
16
+ - gemfiles/Gemfile-rspec-3.9.x
17
+ runs-on: ubuntu-latest
18
+ steps:
19
+ - uses: actions/checkout@v2
20
+ - uses: ruby/setup-ruby@v1
21
+ with:
22
+ ruby-version: ${{ matrix.ruby }}
23
+ - run: bundle install --gemfile ${{ matrix.gemfiles }} --jobs 4 --retry 3
24
+ - run: bundle exec --gemfile ${{ matrix.gemfiles }} rake
@@ -7,21 +7,13 @@ branches:
7
7
  only:
8
8
  - master
9
9
 
10
- matrix:
11
- allow_failures:
12
- - gemfile: Gemfile
13
- - gemfile: gemfiles/Gemfile-rspec-3.2.x
14
- - rvm: ruby-head
15
-
16
10
  rvm:
17
- - 2.1
18
- - 2.2
19
- - 2.3.0
20
- - ruby-head
21
- - jruby-19mode
11
+ - 2.5.8
12
+ - 2.6.6
13
+ - 2.7.1
14
+ - jruby
22
15
 
23
16
  gemfile:
24
- - Gemfile
25
- - gemfiles/Gemfile-rspec-3.2.x
26
- - gemfiles/Gemfile-rspec-3.3.x
27
- - gemfiles/Gemfile-rspec-3.4.x
17
+ - gemfiles/Gemfile-rspec-3.7.x
18
+ - gemfiles/Gemfile-rspec-3.8.x
19
+ - gemfiles/Gemfile-rspec-3.9.x
data/Gemfile CHANGED
@@ -1,4 +1,5 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- # Specify your gem's dependencies in turnip.gemspec
4
3
  gemspec
4
+
5
+ gem "pry-byebug", platforms: :mri
data/README.md CHANGED
@@ -3,6 +3,7 @@
3
3
  [![Join the chat at https://gitter.im/jnicklas/turnip](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/jnicklas/turnip?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
4
4
 
5
5
  [![Build Status](https://secure.travis-ci.org/jnicklas/turnip.png)](http://travis-ci.org/jnicklas/turnip)
6
+ ![Test](https://github.com/jnicklas/turnip/workflows/Test/badge.svg)
6
7
  [![Code Climate](https://codeclimate.com/github/jnicklas/turnip.png)](https://codeclimate.com/github/jnicklas/turnip)
7
8
 
8
9
  Turnip is a [Gherkin](https://github.com/cucumber/cucumber/wiki/Gherkin)
@@ -48,9 +49,8 @@ Please create a topic branch for every separate change you make.
48
49
 
49
50
  ### 1. Ruby
50
51
 
51
- - Support Ruby 2.1 or higher
52
- - Does not support Ruby 1.9.X and 2.0.X
53
- - Does not work on Ruby 1.8.X
52
+ - Support Ruby 2.5 or higher
53
+ - Does not support Ruby (or does not work) 2.4.X or earlier
54
54
 
55
55
  ### 2. RSpec
56
56
 
@@ -60,14 +60,11 @@ In accordance with the RSpec support policy https://github.com/jnicklas/turnip/i
60
60
  - Does not support **two version before the latest or earlier**
61
61
  - Does not work on **RSpec 2 or earlier**
62
62
 
63
- Example `If the latest version is 3.4.x`:
63
+ Example `If the latest version is 3.5.x`:
64
64
 
65
+ - Support `3.5.x`
65
66
  - Support `3.4.x`
66
- - Support `3.3.x`
67
- - Does not support `3.2.x`
68
- - Does not support `3.1.x`
69
- - Does not support `2.x.y`
70
-
67
+ - Does not support (or does not work) `3.3.x` or earlier
71
68
 
72
69
  ## Usage
73
70
 
@@ -429,6 +426,17 @@ step "there are the following monsters:" do |table|
429
426
  end
430
427
  ```
431
428
 
429
+ or the equivalent:
430
+
431
+ ``` ruby
432
+ step "there are the following monsters:" do |table|
433
+ @monsters = {}
434
+ table.rows.each do |(name, hp)|
435
+ @monsters[name] = hp.to_i
436
+ end
437
+ end
438
+ ```
439
+
432
440
  ## Unimplemented steps
433
441
  Turnip mark a scenario as pending when steps in the scenario is not implemented.
434
442
  If you sets `raise_error_for_unimplemented_steps` as `true`, turnip will mark a scenario as fail.
@@ -0,0 +1,25 @@
1
+ Feature: Gherkin 6 syntax
2
+
3
+ Background:
4
+ Given there is a monster with 2 hitpoints
5
+
6
+ Scenario: Battle
7
+ When I attack it
8
+ Then the monster should be alive
9
+ When I attack it
10
+ Then it should die
11
+
12
+ Rule: Battle with preemptive attack
13
+ Background:
14
+ Given I attack the monster and do 1 points damage
15
+
16
+ Example: battle
17
+ When I attack it
18
+ Then it should die
19
+
20
+ Rule: Battle with preemptive critical attack
21
+ Background:
22
+ Given I attack the monster and do 2 points damage
23
+
24
+ Example: battle
25
+ Then it should die
@@ -3,7 +3,7 @@ step "I run :cmd" do |cmd|
3
3
  end
4
4
 
5
5
  placeholder :cmd do
6
- match /`([^`]*)`/ do |cmd|
6
+ match (/`([^`]*)`/) do |cmd|
7
7
  cmd
8
8
  end
9
9
  end
@@ -108,13 +108,13 @@ step "raise error" do
108
108
  end
109
109
 
110
110
  placeholder :count do
111
- match /\d+/ do |count|
111
+ match (/\d+/) do |count|
112
112
  count.to_i
113
113
  end
114
114
  end
115
115
 
116
116
  placeholder :color do
117
- match /blue|green|red/ do |color|
117
+ match (/blue|green|red/) do |color|
118
118
  color.to_sym
119
119
  end
120
120
  end
@@ -3,4 +3,5 @@ source "https://rubygems.org"
3
3
  # Specify your gem's dependencies in turnip.gemspec
4
4
  gemspec :path => '..'
5
5
 
6
- gem 'rspec', '~> 3.2.0'
6
+ gem 'rspec', '~> 3.7.0'
7
+ gem 'pry-byebug', platforms: :mri
@@ -3,4 +3,5 @@ source "https://rubygems.org"
3
3
  # Specify your gem's dependencies in turnip.gemspec
4
4
  gemspec :path => '..'
5
5
 
6
- gem 'rspec', '~> 3.3.0'
6
+ gem 'rspec', '~> 3.8.0'
7
+ gem 'pry-byebug', platforms: :mri
@@ -3,4 +3,5 @@ source "https://rubygems.org"
3
3
  # Specify your gem's dependencies in turnip.gemspec
4
4
  gemspec :path => '..'
5
5
 
6
- gem 'rspec', '~> 3.4.0'
6
+ gem 'rspec', '~> 3.9.0'
7
+ gem 'pry-byebug', platforms: :mri
@@ -1,13 +1,18 @@
1
- require "gherkin/parser"
1
+ require "gherkin"
2
2
  require 'turnip/node/feature'
3
3
 
4
4
  module Turnip
5
5
  class Builder
6
6
  def self.build(feature_file)
7
- parser = Gherkin::Parser.new
8
- result = parser.parse(File.read(feature_file))
7
+ messages = Gherkin.from_paths(
8
+ [feature_file],
9
+ include_source: false,
10
+ include_gherkin_document: true,
11
+ include_pickles: false
12
+ )
13
+ result = messages.first&.gherkin_document&.to_hash
9
14
 
10
- return nil unless result[:feature]
15
+ return nil if result.nil? || result[:feature].nil?
11
16
  Node::Feature.new(result[:feature])
12
17
  end
13
18
  end
@@ -7,7 +7,8 @@ RSpec.configure do |config|
7
7
  if self.class.include?(Capybara::DSL) and current_example.metadata[:turnip]
8
8
  Capybara.current_driver = Capybara.javascript_driver if current_example.metadata.has_key?(:javascript)
9
9
  current_example.metadata.each do |tag, value|
10
- if Capybara.drivers.has_key?(tag)
10
+ has_driver = Capybara::VERSION >= '3.33.0' ? !Capybara.drivers[tag].nil? : Capybara.drivers.has_key?(tag)
11
+ if has_driver
11
12
  Capybara.current_driver = tag
12
13
  end
13
14
  end
@@ -42,7 +42,7 @@ module Turnip
42
42
  # @return [Array]
43
43
  #
44
44
  def header
45
- @header ||= @raw[:tableHeader][:cells].map { |c| c[:value] }
45
+ @header ||= @raw[:table_header][:cells].map { |c| c[:value] }
46
46
  end
47
47
 
48
48
  #
@@ -56,7 +56,7 @@ module Turnip
56
56
  # @return [Array]
57
57
  #
58
58
  def rows
59
- @rows ||= @raw[:tableBody].map do |row|
59
+ @rows ||= @raw[:table_body].map do |row|
60
60
  row[:cells].map { |c| c[:value] }
61
61
  end
62
62
  end
@@ -1,8 +1,7 @@
1
1
  require 'turnip/node/base'
2
2
  require 'turnip/node/tag'
3
- require 'turnip/node/scenario'
4
- require 'turnip/node/scenario_outline'
5
- require 'turnip/node/background'
3
+ require 'turnip/node/scenario_group_definition'
4
+ require 'turnip/node/rule'
6
5
 
7
6
  module Turnip
8
7
  module Node
@@ -20,55 +19,36 @@ module Turnip
20
19
  # children: [], # Array of Background, Scenario and Scenario Outline
21
20
  # }
22
21
  #
23
- class Feature < Base
22
+ class Feature < ScenarioGroupDefinition
24
23
  include HasTags
25
24
 
26
- def name
27
- @raw[:name]
28
- end
29
-
30
25
  def language
31
26
  @raw[:language]
32
27
  end
33
28
 
34
- def keyword
35
- @raw[:keyword]
36
- end
29
+ def children
30
+ @children ||= @raw[:children].map do |child|
31
+ unless child[:background].nil?
32
+ next Background.new(child[:background])
33
+ end
37
34
 
38
- def description
39
- @raw[:description]
40
- end
35
+ unless child[:scenario].nil?
36
+ klass = child.dig(:scenario, :examples).nil? ? Scenario : ScenarioOutline
37
+ next klass.new(child[:scenario])
38
+ end
41
39
 
42
- def children
43
- @children ||= @raw[:children].map do |c|
44
- case c[:type]
45
- when :Background
46
- Background.new(c)
47
- when :Scenario
48
- Scenario.new(c)
49
- when :ScenarioOutline
50
- ScenarioOutline.new(c)
40
+ unless child[:rule].nil?
41
+ next Rule.new(child[:rule])
51
42
  end
52
43
  end.compact
53
44
  end
54
45
 
55
- def backgrounds
56
- @backgrounds ||= children.select do |c|
57
- c.is_a?(Background)
46
+ def rules
47
+ @rules ||= children.select do |c|
48
+ c.is_a?(Rule)
58
49
  end
59
50
  end
60
51
 
61
- def scenarios
62
- @scenarios ||= children.map do |c|
63
- case c
64
- when Scenario
65
- c
66
- when ScenarioOutline
67
- c.to_scenarios
68
- end
69
- end.flatten.compact
70
- end
71
-
72
52
  def metadata_hash
73
53
  super.merge(:type => Turnip.type, :turnip => true)
74
54
  end
@@ -0,0 +1,32 @@
1
+ require 'turnip/node/scenario_group_definition'
2
+
3
+ module Turnip
4
+ module Node
5
+ #
6
+ # @note Rule metadata generated by Gherkin
7
+ #
8
+ # {
9
+ # type: :Rule,
10
+ # location: { line: 10, column: 3 },
11
+ # keyword: 'Rule',
12
+ # name: 'Rule name',
13
+ # description: 'Rule description',
14
+ # children: [] # Array of Background, Scenario and Scenario Outline
15
+ # }
16
+ #
17
+ class Rule < ScenarioGroupDefinition
18
+ def children
19
+ @children ||= @raw[:children].map do |child|
20
+ unless child[:background].nil?
21
+ next Background.new(child[:background])
22
+ end
23
+
24
+ unless child[:scenario].nil?
25
+ klass = child.dig(:scenario, :examples).nil? ? Scenario : ScenarioOutline
26
+ next klass.new(child[:scenario])
27
+ end
28
+ end.compact
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,39 @@
1
+ require 'turnip/node/base'
2
+ require 'turnip/node/scenario'
3
+ require 'turnip/node/scenario_outline'
4
+ require 'turnip/node/background'
5
+
6
+ module Turnip
7
+ module Node
8
+ class ScenarioGroupDefinition < Base
9
+ def name
10
+ @raw[:name]
11
+ end
12
+
13
+ def keyword
14
+ @raw[:keyword]
15
+ end
16
+
17
+ def description
18
+ @raw[:description]
19
+ end
20
+
21
+ def backgrounds
22
+ @backgrounds ||= children.select do |c|
23
+ c.is_a?(Background)
24
+ end
25
+ end
26
+
27
+ def scenarios
28
+ @scenarios ||= children.map do |c|
29
+ case c
30
+ when Scenario
31
+ c
32
+ when ScenarioOutline
33
+ c.to_scenarios
34
+ end
35
+ end.flatten.compact
36
+ end
37
+ end
38
+ end
39
+ end
@@ -65,13 +65,11 @@ module Turnip
65
65
  metadata[:steps].each do |step|
66
66
  step[:text] = substitute(step[:text], header, row)
67
67
 
68
- next if step[:argument].nil?
69
-
70
- case step[:argument][:type]
71
- when :DocString
72
- step[:argument][:content] = substitute(step[:argument][:content], header, row)
73
- when :DataTable
74
- step[:argument][:rows].map do |table_row|
68
+ case
69
+ when step[:doc_string]
70
+ step[:doc_string][:content] = substitute(step[:doc_string][:content], header, row)
71
+ when step[:data_table]
72
+ step[:data_table][:rows].map do |table_row|
75
73
  table_row[:cells].map do |cell|
76
74
  cell[:value] = substitute(cell[:value], header, row)
77
75
  end
@@ -31,13 +31,11 @@ module Turnip
31
31
  end
32
32
 
33
33
  def argument
34
- return nil if @raw[:argument].nil?
35
-
36
- @argument ||= case @raw[:argument][:type]
37
- when :DocString
38
- doc_string(@raw[:argument])
39
- when :DataTable
40
- data_table(@raw[:argument])
34
+ @argument ||= case
35
+ when @raw[:doc_string]
36
+ doc_string(@raw[:doc_string])
37
+ when @raw[:data_table]
38
+ data_table(@raw[:data_table])
41
39
  end
42
40
  end
43
41
 
@@ -22,7 +22,7 @@ module Turnip
22
22
  # @return [Array] Array of Tag
23
23
  #
24
24
  def tags
25
- @tags ||= @raw[:tags].map do |tag|
25
+ @tags ||= @raw.fetch(:tags, []).map do |tag|
26
26
  Tag.new(tag)
27
27
  end
28
28
  end
@@ -4,6 +4,11 @@ module Turnip
4
4
 
5
5
  class << self
6
6
  def add(name, &block)
7
+ if placeholders.key?(name)
8
+ location = caller_locations.detect { |l| l.to_s !~ /lib\/turnip\/dsl\.rb/ }
9
+ warn "Placeholder :#{name} was replaced at #{location}."
10
+ end
11
+
7
12
  placeholders[name] = Placeholder.new(name, &block)
8
13
  end
9
14
 
@@ -70,14 +70,19 @@ module Turnip
70
70
 
71
71
  instance_eval <<-EOS, feature_file, feature.line
72
72
  context = ::RSpec.describe feature.name, feature.metadata_hash
73
- run_feature(context, feature, feature_file)
73
+ run_scenario_group(context, feature, feature_file)
74
74
  EOS
75
75
  end
76
76
 
77
77
  private
78
78
 
79
- def run_feature(context, feature, filename)
80
- background_steps = feature.backgrounds.map(&:steps).flatten
79
+ #
80
+ # @param [RSpec::ExampleGroups] context
81
+ # @param [Turnip::Node::Feature|Turnip::Node::Rule] group
82
+ # @param [String] filename
83
+ #
84
+ def run_scenario_group(context, group, filename)
85
+ background_steps = group.backgrounds.map(&:steps).flatten
81
86
 
82
87
  context.before do
83
88
  background_steps.each do |step|
@@ -85,7 +90,7 @@ module Turnip
85
90
  end
86
91
  end
87
92
 
88
- feature.scenarios.each do |scenario|
93
+ group.scenarios.each do |scenario|
89
94
  step_names = (background_steps + scenario.steps).map(&:to_s)
90
95
  description = step_names.join(' -> ')
91
96
 
@@ -99,6 +104,13 @@ module Turnip
99
104
  EOS
100
105
  end
101
106
  end
107
+
108
+ if group.is_a?(Turnip::Node::Feature)
109
+ group.rules.each do |rule|
110
+ rule_context = context.context(rule.name, { turnip: true })
111
+ run_scenario_group(rule_context, rule, filename)
112
+ end
113
+ end
102
114
  end
103
115
  end
104
116
  end
@@ -1,3 +1,3 @@
1
1
  module Turnip
2
- VERSION = '3.0.0'
2
+ VERSION = '4.2.0'
3
3
  end
@@ -31,7 +31,7 @@ describe Turnip::DSL do
31
31
 
32
32
  it 'warns of deprecation when called with :global' do
33
33
  context.should_receive(:warn)
34
- mod = context.steps_for(:global) do
34
+ context.steps_for(:global) do
35
35
  step("foo") { "foo" }
36
36
  end
37
37
  an_object.extend Turnip::Steps
@@ -12,7 +12,7 @@ describe 'The CLI', :type => :integration do
12
12
  end
13
13
 
14
14
  it "prints out failures and successes" do
15
- @result.should include('39 examples, 4 failures, 5 pending')
15
+ @result.should include('42 examples, 4 failures, 5 pending')
16
16
  end
17
17
 
18
18
  it "includes features in backtraces" do
@@ -9,6 +9,8 @@ describe Turnip::Placeholder do
9
9
  end
10
10
  end
11
11
 
12
+ after { Turnip::Placeholder.send(:placeholders).clear }
13
+
12
14
  it 'returns a regexp for the given placeholder' do
13
15
  resolved = described_class.resolve(:test)
14
16
 
@@ -150,4 +152,19 @@ describe Turnip::Placeholder do
150
152
  end
151
153
  end
152
154
  end
155
+
156
+ describe 'replacing placeholders' do
157
+ before do
158
+ described_class.add(:test) do
159
+ match(/foo/)
160
+ end
161
+ end
162
+
163
+ it 'issues a warning' do
164
+ expect(described_class).to receive(:warn).with(/Placeholder :test was replaced/)
165
+ described_class.add(:test) do
166
+ match(/bar/)
167
+ end
168
+ end
169
+ end
153
170
  end
@@ -3,6 +3,8 @@ require "spec_helper"
3
3
  describe Turnip::StepDefinition do
4
4
  let(:all_steps) { [] }
5
5
 
6
+ after { Turnip::Placeholder.send(:placeholders).clear }
7
+
6
8
  describe "#match" do
7
9
  it "matches a simple step" do
8
10
  step = Turnip::StepDefinition.new("there are monsters") {}
@@ -45,8 +47,7 @@ describe Turnip::StepDefinition do
45
47
  Turnip::Placeholder.stub(:resolve).with(:count).and_return(/\d+/)
46
48
  Turnip::Placeholder.should_receive(:find).with(:count).twice.and_return(placeholder)
47
49
  step = Turnip::StepDefinition.new(":count monsters and :count knights") {}
48
- match = step.match("3 monsters and 2 knights")
49
- #match.params.should eq([3, 2])
50
+ step.match("3 monsters and 2 knights")
50
51
  end
51
52
 
52
53
  it "does apply the same custom placeholder several times" do
@@ -54,7 +55,7 @@ describe Turnip::StepDefinition do
54
55
  Turnip::Placeholder.stub(:resolve).with(:count).and_return(/\d+/)
55
56
  placeholder.should_receive(:apply).twice
56
57
  step = Turnip::StepDefinition.new(":count monsters and :count knights") {}
57
- match = step.match("3 monsters and 2 knights")
58
+ step.match("3 monsters and 2 knights")
58
59
  end
59
60
 
60
61
  it "matches quoted placeholders" do
@@ -3,23 +3,24 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
  require "turnip/version"
4
4
 
5
5
  Gem::Specification.new do |s|
6
+ s.required_ruby_version = ">= 2.3"
6
7
  s.name = "turnip"
7
8
  s.version = Turnip::VERSION
8
9
  s.authors = ["Jonas Nicklas"]
9
10
  s.email = ["jonas.nicklas@gmail.com"]
10
- s.homepage = ""
11
+ s.homepage = "https://github.com/jnicklas/turnip/"
12
+ s.license = "MIT"
11
13
  s.summary = %q{Gherkin extension for RSpec}
12
14
  s.description = %q{Provides the ability to define steps and run Gherkin files from with RSpec}
13
15
 
14
- s.rubyforge_project = "turnip"
15
-
16
16
  s.files = `git ls-files`.split("\n")
17
17
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
18
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
19
  s.require_paths = ["lib"]
20
20
 
21
21
  s.add_runtime_dependency "rspec", [">=3.0", "<4.0"]
22
- s.add_runtime_dependency "gherkin", "~> 4.0"
22
+ s.add_runtime_dependency "cucumber-gherkin", "~> 14.0"
23
23
  s.add_development_dependency "rake"
24
24
  s.add_development_dependency "pry"
25
+ s.add_development_dependency "pry-byebug"
25
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: turnip
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 4.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonas Nicklas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-03 00:00:00.000000000 Z
11
+ date: 2020-09-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -31,19 +31,19 @@ dependencies:
31
31
  - !ruby/object:Gem::Version
32
32
  version: '4.0'
33
33
  - !ruby/object:Gem::Dependency
34
- name: gherkin
34
+ name: cucumber-gherkin
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '4.0'
39
+ version: '14.0'
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '4.0'
46
+ version: '14.0'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rake
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -72,6 +72,20 @@ dependencies:
72
72
  - - ">="
73
73
  - !ruby/object:Gem::Version
74
74
  version: '0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: pry-byebug
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
75
89
  description: Provides the ability to define steps and run Gherkin files from with
76
90
  RSpec
77
91
  email:
@@ -80,6 +94,7 @@ executables: []
80
94
  extensions: []
81
95
  extra_rdoc_files: []
82
96
  files:
97
+ - ".github/workflows/test.yml"
83
98
  - ".gitignore"
84
99
  - ".rspec"
85
100
  - ".travis.yml"
@@ -91,6 +106,7 @@ files:
91
106
  - examples/backgrounds.feature
92
107
  - examples/blank.feature
93
108
  - examples/errors.feature
109
+ - examples/gherkin6_syntax.feature
94
110
  - examples/interpolation.feature
95
111
  - examples/multiline_string.feature
96
112
  - examples/pending.feature
@@ -114,9 +130,9 @@ files:
114
130
  - examples/tags.feature
115
131
  - examples/with_backticks.feature
116
132
  - examples/with_comments.feature
117
- - gemfiles/Gemfile-rspec-3.2.x
118
- - gemfiles/Gemfile-rspec-3.3.x
119
- - gemfiles/Gemfile-rspec-3.4.x
133
+ - gemfiles/Gemfile-rspec-3.7.x
134
+ - gemfiles/Gemfile-rspec-3.8.x
135
+ - gemfiles/Gemfile-rspec-3.9.x
120
136
  - lib/turnip.rb
121
137
  - lib/turnip/builder.rb
122
138
  - lib/turnip/capybara.rb
@@ -128,8 +144,10 @@ files:
128
144
  - lib/turnip/node/example.rb
129
145
  - lib/turnip/node/feature.rb
130
146
  - lib/turnip/node/location.rb
147
+ - lib/turnip/node/rule.rb
131
148
  - lib/turnip/node/scenario.rb
132
149
  - lib/turnip/node/scenario_definition.rb
150
+ - lib/turnip/node/scenario_group_definition.rb
133
151
  - lib/turnip/node/scenario_outline.rb
134
152
  - lib/turnip/node/step.rb
135
153
  - lib/turnip/node/tag.rb
@@ -147,8 +165,9 @@ files:
147
165
  - spec/step_definition_spec.rb
148
166
  - spec/table_spec.rb
149
167
  - turnip.gemspec
150
- homepage: ''
151
- licenses: []
168
+ homepage: https://github.com/jnicklas/turnip/
169
+ licenses:
170
+ - MIT
152
171
  metadata: {}
153
172
  post_install_message:
154
173
  rdoc_options: []
@@ -158,15 +177,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
158
177
  requirements:
159
178
  - - ">="
160
179
  - !ruby/object:Gem::Version
161
- version: '0'
180
+ version: '2.3'
162
181
  required_rubygems_version: !ruby/object:Gem::Requirement
163
182
  requirements:
164
183
  - - ">="
165
184
  - !ruby/object:Gem::Version
166
185
  version: '0'
167
186
  requirements: []
168
- rubyforge_project: turnip
169
- rubygems_version: 2.5.1
187
+ rubygems_version: 3.0.3
170
188
  signing_key:
171
189
  specification_version: 4
172
190
  summary: Gherkin extension for RSpec