turnip 4.2.0 → 4.3.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
2
  SHA256:
3
- metadata.gz: c86f0ce3b7829fd47b7383b07a322c1726f84c91b5da26882e7595ff9113c6d2
4
- data.tar.gz: 35fd833aac33e1eab40239bdfac960f63c762ac6c5fcdc990cfc8a4669f927cc
3
+ metadata.gz: 8a5b2f61d3782f307c76f247b14f6a814c9b23e756ed5a1ebdb2d5f1261454af
4
+ data.tar.gz: d4d5876e9b484995c2883448e4b302d68ec14094e52dde6d78c5b99232d801a1
5
5
  SHA512:
6
- metadata.gz: 7dff32468733fbdc9998ece81cea23877098f51e24f2a06d32da65ac3fb7afe4beb22f2f45bce45ee3e1e5961193b3bb859cccee8fb72266de83dfddfe187441
7
- data.tar.gz: 7a3123de579bf41c9a8aeee4ef04cb9f25814c90e051b77a15319cff29f935634256f4d845668ac8ea83b6782ed0251d2354563023c9a58035a1f6a5730610b6
6
+ metadata.gz: 8b433ce756fb3c6430c1544e9b94acf5a36ad5de1607ad71824961be0fa313907f2d05f1cb55102d424935a8f311cd99045c0d6bec039edb997f51418fab6b9d
7
+ data.tar.gz: c30109444ccc7b315b98db85a4f24bbd31082289d35a4a6930d8c657adcc278e6bd8d1420082d6061a8f61fe10cae461a8d6e56a6ea0347eb9917d9e110ab1ce
@@ -11,9 +11,8 @@ jobs:
11
11
  - '2.7'
12
12
  - jruby
13
13
  gemfiles:
14
- - gemfiles/Gemfile-rspec-3.7.x
15
- - gemfiles/Gemfile-rspec-3.8.x
16
14
  - gemfiles/Gemfile-rspec-3.9.x
15
+ - gemfiles/Gemfile-rspec-3.10.x
17
16
  runs-on: ubuntu-latest
18
17
  steps:
19
18
  - uses: actions/checkout@v2
data/CHANGELOG.md ADDED
@@ -0,0 +1,90 @@
1
+ # CHANGE LOG
2
+
3
+ ## [Unreleased]
4
+
5
+ ## [4.3.0] - 2021-05-16
6
+
7
+ ### Added
8
+
9
+ - Support scenario name substitution [[GH-237](https://github.com/jnicklas/turnip/pull/237)]
10
+
11
+ ### Fixed
12
+
13
+ - Support RSpec 3.9 and 3.10 (drop 3.7 and 3.8) [[GH-238](https://github.com/jnicklas/turnip/pull/238)]
14
+ - Replace TravisCI with GitHub Workflows [[GH-239](https://github.com/jnicklas/turnip/pull/239)]
15
+
16
+ ## [4.2.0] - 2020-09-02
17
+
18
+ ### Changed
19
+
20
+ - Update gherkin version
21
+ - v11 [[GH-222](https://github.com/jnicklas/turnip/pull/222)]
22
+ - v12 [[GH-224](https://github.com/jnicklas/turnip/pull/224)]
23
+ - v14 [[GH-229](https://github.com/jnicklas/turnip/pull/229)]
24
+
25
+ ### Fixed
26
+
27
+ - Test against Ruby 2.7 [[GH-223](https://github.com/jnicklas/turnip/pull/223)]
28
+ - Drop support Ruby 2.3 and 2.4 [[GH-225](https://github.com/jnicklas/turnip/pull/225)]
29
+ - Update travis.yml [[GH-226](https://github.com/jnicklas/turnip/pull/226)]]
30
+ - Setup GitHub Actions [[GH-227](https://github.com/jnicklas/turnip/pull/227)]
31
+ - Suppress deprecation warning in Capybara 3.33.0 [[GH-232](https://github.com/jnicklas/turnip/pull/232)]
32
+
33
+ ## [4.1.0] - 2020-03-02
34
+
35
+ ### Added
36
+
37
+ - Warn when replacing placeholders [[GH-219](https://github.com/jnicklas/turnip/pull/219))
38
+
39
+ ### Changed
40
+
41
+ - Update gherkin version
42
+ - v8 [[GH-217](https://github.com/jnicklas/turnip/pull/217)]
43
+ - v9 [[GH-218](https://github.com/jnicklas/turnip/pull/218)]
44
+ - v10 [[GH-221](https://github.com/jnicklas/turnip/pull/221)]
45
+
46
+ ### Fixed
47
+
48
+ - Update README.md [[GH-216](https://github.com/jnicklas/turnip/pull/216)]
49
+
50
+ ## [4.0.1] - 2019-04-22
51
+
52
+ ### Changed
53
+
54
+ - Add `required_ruby_version` [[GH-212](https://github.com/jnicklas/turnip/pull/212)]
55
+ - Add support Ruby 2.6 by upgrading Gherkin version [[GH-214](https://github.com/jnicklas/turnip/pull/214)]
56
+
57
+ ### Fixed
58
+
59
+ - Update README.md [[GH-211](https://github.com/jnicklas/turnip/pull/211)]
60
+ - Add homepage url to gemspec [[GH-209](https://github.com/jnicklas/turnip/pull/209)]
61
+
62
+ ## [4.0.0] - 2019-02-28
63
+
64
+ ### Changed
65
+
66
+ - Use Gherkin 6.0 [[GH-206](https://github.com/jnicklas/turnip/pull/206)] [[GH-208](https://github.com/jnicklas/turnip/pull/208)]
67
+ - Support RSpec 3.7 and 3.8 (drop 3.6) [[GH-203](https://github.com/jnicklas/turnip/pull/203)]
68
+ - Drop support Ruby 2.2 [[GH-204](https://github.com/jnicklas/turnip/pull/204)]
69
+
70
+ ### Fixed
71
+
72
+ - Test against Ruby 2.6 (fail yet) [[GH-207](https://github.com/jnicklas/turnip/pull/207)]
73
+
74
+ ## [3.1.0] - 2018-01-30
75
+
76
+ ### Changed
77
+
78
+ - Use Gherkin 5.0 [[GH-200](https://github.com/jnicklas/turnip/pull/200)]
79
+ - Support Ruby 2.5.0 [[GH-201](https://github.com/jnicklas/turnip/pull/201)]
80
+ - Drop support Ruby 2.1 [[GH-191](https://github.com/jnicklas/turnip/pull/191)]
81
+ - Support RSpec 3.7.0 and 3.6.0 [[GH-197](https://github.com/jnicklas/turnip/pull/197)]
82
+
83
+ ## Fixed
84
+
85
+ - Add license to gemspec [[GH-193](https://github.com/jnicklas/turnip/pull/193)]
86
+ - Suppress warning [[GH-195](https://github.com/jnicklas/turnip/pull/195)]
87
+
88
+ ## [3.0.0] - 2017-04-04
89
+
90
+ TBD (You can see https://github.com/jnicklas/turnip/releases for before this bersion)
data/README.md CHANGED
@@ -2,7 +2,6 @@
2
2
 
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
- [![Build Status](https://secure.travis-ci.org/jnicklas/turnip.png)](http://travis-ci.org/jnicklas/turnip)
6
5
  ![Test](https://github.com/jnicklas/turnip/workflows/Test/badge.svg)
7
6
  [![Code Climate](https://codeclimate.com/github/jnicklas/turnip.png)](https://codeclimate.com/github/jnicklas/turnip)
8
7
 
@@ -0,0 +1,13 @@
1
+ Feature: using scenario outlines
2
+ Scenario Outline: a monster introduced himself as <name>
3
+ Given there is a monster called <name>
4
+ Then the monster introduced himself:
5
+ """
6
+ Ahhhhhhh! i'm <name>!
7
+ """
8
+
9
+ Examples:
10
+ | name |
11
+ | John |
12
+ | "John Smith" |
13
+ | "O'Flannahan" |
@@ -3,5 +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.7.0'
6
+ gem 'rspec', '~> 3.10.0'
7
7
  gem 'pry-byebug', platforms: :mri
@@ -57,7 +57,7 @@ module Turnip
57
57
  header = example.header
58
58
 
59
59
  example.rows.map do |row|
60
- metadata = convert_metadata_to_scenario
60
+ metadata = convert_metadata_to_scenario(header, row)
61
61
 
62
62
  #
63
63
  # Replace <placeholder> using Example values
@@ -115,10 +115,11 @@ module Turnip
115
115
  # @todo :keyword is not considered a language (en only)
116
116
  # @return [Hash]
117
117
  #
118
- def convert_metadata_to_scenario()
118
+ def convert_metadata_to_scenario(header, row)
119
119
  # deep copy
120
120
  Marshal.load(Marshal.dump(raw)).tap do |new_raw|
121
121
  new_raw.delete(:examples)
122
+ new_raw[:name] = substitute(new_raw[:name], header, row)
122
123
  new_raw[:type] = :Scenario
123
124
  new_raw[:keyword] = 'Scenario'
124
125
  end
@@ -1,3 +1,3 @@
1
1
  module Turnip
2
- VERSION = '4.2.0'
2
+ VERSION = '4.3.0'
3
3
  end
data/spec/builder_spec.rb CHANGED
@@ -75,6 +75,18 @@ describe Turnip::Builder do
75
75
  end
76
76
  end
77
77
 
78
+ context "with example scenario name in scenario outlines" do
79
+ let(:feature_file) { File.expand_path('../examples/scenario_outline_scenario_name_substitution.feature', File.dirname(__FILE__)) }
80
+
81
+ it "replaces placeholders in scenario name" do
82
+ feature.scenarios.map(&:name).should eq([
83
+ "a monster introduced himself as John",
84
+ 'a monster introduced himself as "John Smith"',
85
+ %(a monster introduced himself as "O'Flannahan")
86
+ ])
87
+ end
88
+ end
89
+
78
90
  context "with example tables in scenario outlines" do
79
91
  let(:feature_file) { File.expand_path('../examples/scenario_outline_table_substitution.feature', File.dirname(__FILE__)) }
80
92
 
@@ -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('42 examples, 4 failures, 5 pending')
15
+ @result.should include('45 examples, 4 failures, 5 pending')
16
16
  end
17
17
 
18
18
  it "includes features in backtraces" do
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: 4.2.0
4
+ version: 4.3.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: 2020-09-02 00:00:00.000000000 Z
11
+ date: 2021-05-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -97,7 +97,7 @@ files:
97
97
  - ".github/workflows/test.yml"
98
98
  - ".gitignore"
99
99
  - ".rspec"
100
- - ".travis.yml"
100
+ - CHANGELOG.md
101
101
  - Gemfile
102
102
  - README.md
103
103
  - Rakefile
@@ -112,6 +112,7 @@ files:
112
112
  - examples/pending.feature
113
113
  - examples/scenario_outline.feature
114
114
  - examples/scenario_outline_multiline_string_substitution.feature
115
+ - examples/scenario_outline_scenario_name_substitution.feature
115
116
  - examples/scenario_outline_table_substitution.feature
116
117
  - examples/simple_feature.feature
117
118
  - examples/step_calling.feature
@@ -130,8 +131,7 @@ files:
130
131
  - examples/tags.feature
131
132
  - examples/with_backticks.feature
132
133
  - examples/with_comments.feature
133
- - gemfiles/Gemfile-rspec-3.7.x
134
- - gemfiles/Gemfile-rspec-3.8.x
134
+ - gemfiles/Gemfile-rspec-3.10.x
135
135
  - gemfiles/Gemfile-rspec-3.9.x
136
136
  - lib/turnip.rb
137
137
  - lib/turnip/builder.rb
data/.travis.yml DELETED
@@ -1,19 +0,0 @@
1
- language: ruby
2
-
3
- sudo: false
4
- cache: bundler
5
-
6
- branches:
7
- only:
8
- - master
9
-
10
- rvm:
11
- - 2.5.8
12
- - 2.6.6
13
- - 2.7.1
14
- - jruby
15
-
16
- gemfile:
17
- - gemfiles/Gemfile-rspec-3.7.x
18
- - gemfiles/Gemfile-rspec-3.8.x
19
- - gemfiles/Gemfile-rspec-3.9.x
@@ -1,7 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- # Specify your gem's dependencies in turnip.gemspec
4
- gemspec :path => '..'
5
-
6
- gem 'rspec', '~> 3.8.0'
7
- gem 'pry-byebug', platforms: :mri