rutabaga 2.1.6 → 3.0.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 131a900096212a9e96f19e0d51909e7ba1aea969
4
- data.tar.gz: 8183023b1311fe93540e0986d69007a1a29853d3
2
+ SHA256:
3
+ metadata.gz: 396a9f18753e8f782961dc51ab7921804cc5f7aa860367de27c374a8b1f5cc50
4
+ data.tar.gz: cc7123622b454d61a9fe058ded68011153f4101ad6d40382e2ab1c254677bcd5
5
5
  SHA512:
6
- metadata.gz: 69dafa7ad275b5efe944da37db51eae4d4650d1f4b4f03aef59577df8dd2d51a4226818bf3d2592dd6b6563a1f40c821c5faee1fc6c1f4783ce645bc598b67df
7
- data.tar.gz: c560410a9e9667c37a71f8e3acc7710d4d468ddbdaea3734f899b13b5b62bbdaceb71168bcbce7124192f1d7fc85670f007f502faab5ea3466bd73d90e8b2e42
6
+ metadata.gz: 8e0d4ba85c3125c08b13a62a2ef5baaa3ce89f1f3a10eaa19493979d0b7a897af1f39c29b140e9a24c3d913b190a0456047f02a73c71487a6b6b00ea5b30a47d
7
+ data.tar.gz: 26b1d0ba08c4ae8a75f81b7f19fa332b228f834557a7c6175d6970ceb97de55856df29fa48fdeebbff2dd67b16d388a9973e61ac0e5b21c2feeb09300b52895f
@@ -1,11 +1,19 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.3.4
4
- - 2.4.1
5
- - jruby-9.1.7.0
3
+ - 2.4
4
+ - 2.5
5
+ - 2.6
6
+ - jruby
6
7
 
7
8
  gemfile:
8
9
  - Gemfile
9
- - ./Gemfile.turnip2
10
+ - ./Gemfile.turnip3
11
+
12
+ matrix:
13
+ allow_failures:
14
+ - rvm: 2.6 # Google protobuf, requirement for turnip 4 not compatible yet
15
+ gemfile: Gemfile
16
+ - rvm: jruby # Google protobuf, requirement for turnip 4 not compatible yet
17
+ gemfile: Gemfile
10
18
 
11
19
  script: bundle exec rspec spec
@@ -1,5 +1,11 @@
1
1
  # Changes
2
2
 
3
+ ## Version 3.0.0
4
+
5
+ - Adds Turnip 4 support
6
+ - Removes Turnip 2 support
7
+ - Removes deprecated way of calling features
8
+
3
9
  ## Version 2.1.6
4
10
 
5
11
  - Support for Turnip 3.0
@@ -2,4 +2,4 @@ source 'https://rubygems.org'
2
2
 
3
3
  eval_gemfile File.join(File.dirname(__FILE__), "Gemfile")
4
4
 
5
- gem 'turnip', '2.1.1'
5
+ gem 'turnip', '3.1.0'
data/README.md CHANGED
@@ -199,9 +199,9 @@ Put the following (example in a `Gemfile_for_xxx`) to test other versions of gem
199
199
  # Use global Gemfile and customize
200
200
  eval(IO.read('Gemfile'), binding)
201
201
 
202
- gem 'turnip', '2.0.0'
202
+ gem 'turnip', '3.1.0'
203
203
  ```
204
204
 
205
205
  ## Copyright
206
206
 
207
- Copyright © 2012-2016 Simply Business. See LICENSE for details.
207
+ Copyright © 2012-2019 Simply Business. See LICENSE for details.
@@ -1,9 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "should find the feature file using the root (and monkey patching the result)" do
4
- it "examples/test2.feature" do
5
- feature
6
- end
4
+ feature "examples/test2.feature"
7
5
 
8
6
  step "that :first + :second is calculated" do |first, second|
9
7
  @first = first
@@ -1,6 +1,5 @@
1
1
  require 'rutabaga/version'
2
2
  require 'turnip'
3
- require 'rutabaga/feature'
4
3
  require 'rutabaga/example_group/feature'
5
4
  require 'rspec/core/example_group_patch'
6
5
  require 'rutabaga/util'
@@ -3,11 +3,15 @@
3
3
  # Monkey patch for Turnip to not have to copy loads of code
4
4
  module Turnip::RSpec
5
5
  def self.rutabaga_run(feature_file, example_group_class)
6
- features = Rutabaga::Util.build_features(feature_file)
6
+ features = Rutabaga::Util.build_scenario_groups(feature_file)
7
7
  features.each do |feature|
8
8
  instance_eval <<-EOS, feature_file, feature.line
9
9
  describe = example_group_class.describe feature.name, feature.metadata_hash.reject { |key, _| key == :type }
10
- run_feature(describe, feature, feature_file)
10
+ if Turnip::VERSION[0].to_i >= 4
11
+ run_scenario_group(describe, feature, feature_file)
12
+ else # run against turnip 3
13
+ run_feature(describe, feature, feature_file)
14
+ end
11
15
  EOS
12
16
  end
13
17
  end
@@ -44,12 +48,8 @@ module Rutabaga
44
48
  raise unless e.message.include?(filename)
45
49
  end
46
50
 
47
- def build_features(feature_file)
48
- if Gem::Version.new(Turnip::VERSION) >= Gem::Version.new('3.0.0')
49
- [Turnip::Builder.build(feature_file)]
50
- else
51
- Turnip::Builder.build(feature_file).features
52
- end
51
+ def build_scenario_groups(feature_file)
52
+ [Turnip::Builder.build(feature_file)]
53
53
  end
54
54
 
55
55
  private
@@ -71,7 +71,6 @@ module Rutabaga
71
71
  end
72
72
 
73
73
  ::RSpec.configure do |c|
74
- c.include Rutabaga::Feature
75
74
  # Blow away turnip's pattern, and focus just on features directory
76
75
  if defined?(Rutabaga::NO_TURNIP)
77
76
  c.pattern.gsub!(",**/*.feature", "")
@@ -1,3 +1,3 @@
1
1
  module Rutabaga
2
- VERSION = '2.1.6'
2
+ VERSION = '3.0.0'
3
3
  end
@@ -16,7 +16,7 @@ Gem::Specification.new do |gem|
16
16
  gem.version = Rutabaga::VERSION
17
17
  gem.license = 'MIT'
18
18
 
19
- gem.add_runtime_dependency 'turnip', ['>= 2.1.1', '< 4.0']
19
+ gem.add_runtime_dependency 'turnip', ['>= 3.1.0', '< 5.0']
20
20
  gem.add_runtime_dependency 'rspec', ['~> 3.0']
21
21
 
22
22
  gem.add_development_dependency 'capybara'
@@ -30,7 +30,7 @@ describe 'integration', :type => :integration do
30
30
  end
31
31
 
32
32
  it "prints out failures and successes" do
33
- expect(@result).to include('19 examples, 4 failures')
33
+ expect(@result).to include('18 examples, 4 failures')
34
34
  end
35
35
 
36
36
  it "should find features relative to the root" do
@@ -49,10 +49,6 @@ describe 'integration', :type => :integration do
49
49
  it "should provide failure messages that allow a specific scenario to be run" do
50
50
  expect(@result).to include("rspec ./examples/test_feature_example_group_spec.rb[1:1:1:4:1]")
51
51
  end
52
-
53
- it "should have a feature deprecation warning" do
54
- expect(@result).to include("Calling `feature` from an `it` block is deprecated.")
55
- end
56
52
  end
57
53
 
58
54
  describe 'compatibility' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rutabaga
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.6
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lukas Oberhuber
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-12 00:00:00.000000000 Z
11
+ date: 2019-03-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: turnip
@@ -16,20 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 2.1.1
19
+ version: 3.1.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '4.0'
22
+ version: '5.0'
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
- version: 2.1.1
29
+ version: 3.1.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '4.0'
32
+ version: '5.0'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: rspec
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -83,7 +83,7 @@ files:
83
83
  - ".travis.yml"
84
84
  - CHANGELOG.md
85
85
  - Gemfile
86
- - Gemfile.turnip2
86
+ - Gemfile.turnip3
87
87
  - LICENSE
88
88
  - README.md
89
89
  - Rakefile
@@ -100,7 +100,6 @@ files:
100
100
  - lib/rspec/core/example_group_patch.rb
101
101
  - lib/rutabaga.rb
102
102
  - lib/rutabaga/example_group/feature.rb
103
- - lib/rutabaga/feature.rb
104
103
  - lib/rutabaga/no_turnip.rb
105
104
  - lib/rutabaga/turnip.rb
106
105
  - lib/rutabaga/util.rb
@@ -133,8 +132,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
133
132
  - !ruby/object:Gem::Version
134
133
  version: '0'
135
134
  requirements: []
136
- rubyforge_project:
137
- rubygems_version: 2.6.8
135
+ rubygems_version: 3.0.2
138
136
  signing_key:
139
137
  specification_version: 4
140
138
  summary: Calling Turnip feature files from RSpec, which allows encapsulating a feature
@@ -147,4 +145,3 @@ test_files:
147
145
  - spec/rspec_formatter/formatter.rb
148
146
  - spec/rutabaga/util_spec.rb
149
147
  - spec/spec_helper.rb
150
- has_rdoc:
@@ -1,61 +0,0 @@
1
- require 'turnip/rspec'
2
- require 'rspec'
3
-
4
- module Rutabaga
5
- module Feature
6
- def feature(feature_file = nil)
7
- RSpec.deprecate(
8
- "Calling `feature` from an `it` block",
9
- :message => "Calling `feature` from an `it` block " \
10
- "is deprecated.\nYou should now put your steps inside " \
11
- "a `feature` block.\n\n" \
12
- "```\n" \
13
- "feature \"optional feature file location\" do\n" \
14
- " step \"a step\" do\n" \
15
- " ...\n" \
16
- " end\n" \
17
- "end\n" \
18
- "```"
19
- )
20
-
21
- feature_file = Util.find_feature(feature_file || RSpec.current_example.description)
22
- example_group_class = self.class
23
-
24
- # Hack turnip into the rspec only when needed
25
- example_group_class.send(:include, Turnip::RSpec::Execute)
26
- example_group_class.send(:include, Turnip::Steps)
27
-
28
- run(feature_file, example_group_class)
29
- end
30
-
31
- # Adapted from jnicklas/turnip v2.0.0
32
- def run(feature_file, example_group_class)
33
- features = Util.build_features(feature_file)
34
- features.each do |feature|
35
- describe = example_group_class.describe feature.name, feature.metadata_hash
36
- run_feature(describe, feature, feature_file, example_group_class)
37
- end
38
- end
39
-
40
- def run_feature(describe, feature, filename, example_group_class)
41
- example_group_class.before do
42
- # This is kind of a hack, but it will make RSpec throw way nicer exceptions
43
- RSpec.current_example.metadata[:file_path] = filename
44
-
45
- feature.backgrounds.map(&:steps).flatten.each do |step|
46
- run_step(filename, step)
47
- end
48
- end
49
-
50
- feature.scenarios.each do |scenario|
51
- example_group_class.describe scenario.name, scenario.metadata_hash do
52
- it(scenario.steps.map(&:to_s).join(' -> ')) do
53
- scenario.steps.each do |step|
54
- run_step(filename, step)
55
- end
56
- end
57
- end
58
- end
59
- end
60
- end
61
- end