turnip 4.2.0 → 4.3.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
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