cucumber-rails 1.5.0 → 2.1.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.
Files changed (83) hide show
  1. checksums.yaml +5 -5
  2. data/.github/ISSUE_TEMPLATE.md +52 -0
  3. data/.github/PULL_REQUEST_TEMPLATE.md +42 -0
  4. data/.gitignore +3 -1
  5. data/.rspec +4 -1
  6. data/.rubocop.yml +68 -0
  7. data/.travis.yml +43 -33
  8. data/Appraisals +25 -92
  9. data/{History.md → CHANGELOG.md} +242 -40
  10. data/CONTRIBUTING.md +15 -24
  11. data/Gemfile +2 -4
  12. data/LICENSE +1 -1
  13. data/README.md +57 -27
  14. data/Rakefile +18 -14
  15. data/bin/install_geckodriver.sh +19 -0
  16. data/bin/install_webpacker.sh +9 -0
  17. data/config/cucumber.yml +2 -5
  18. data/cucumber-rails.gemspec +35 -28
  19. data/dev_tasks/cucumber.rake +2 -0
  20. data/dev_tasks/rspec.rake +2 -0
  21. data/dev_tasks/yard.rake +7 -14
  22. data/dev_tasks/yard/default/layout/html/setup.rb +6 -1
  23. data/features/allow_rescue.feature +16 -11
  24. data/features/annotations.feature +8 -11
  25. data/features/capybara_javascript_drivers.feature +38 -28
  26. data/features/choose_javascript_database_strategy.feature +37 -57
  27. data/features/configuration.feature +48 -0
  28. data/features/database_cleaner.feature +18 -18
  29. data/features/disable_automatic_database_cleaning.feature +12 -18
  30. data/features/emulate_javascript.feature +64 -47
  31. data/features/install_cucumber_rails.feature +4 -4
  32. data/features/no_database.feature +8 -19
  33. data/features/raising_errors.feature +9 -3
  34. data/features/rerun_profile.feature +17 -7
  35. data/features/rest_api.feature +12 -12
  36. data/features/step_definitions/cucumber_rails_steps.rb +44 -88
  37. data/features/support/aruba.rb +3 -1
  38. data/features/support/cucumber_rails_helper.rb +85 -0
  39. data/features/support/env.rb +4 -30
  40. data/features/support/hooks.rb +8 -0
  41. data/gemfiles/rails_4_2.gemfile +5 -13
  42. data/gemfiles/rails_5_0.gemfile +5 -12
  43. data/gemfiles/rails_5_1.gemfile +4 -9
  44. data/gemfiles/rails_5_2.gemfile +10 -0
  45. data/gemfiles/rails_6_0.gemfile +9 -0
  46. data/lib/cucumber/rails.rb +17 -15
  47. data/lib/cucumber/rails/action_dispatch.rb +21 -0
  48. data/lib/cucumber/rails/application.rb +16 -7
  49. data/lib/cucumber/rails/capybara.rb +2 -0
  50. data/lib/cucumber/rails/capybara/javascript_emulation.rb +45 -37
  51. data/lib/cucumber/rails/capybara/select_dates_and_times.rb +6 -4
  52. data/lib/cucumber/rails/database.rb +30 -8
  53. data/lib/cucumber/rails/hooks.rb +2 -0
  54. data/lib/cucumber/rails/hooks/active_record.rb +14 -12
  55. data/lib/cucumber/rails/hooks/allow_rescue.rb +2 -0
  56. data/lib/cucumber/rails/hooks/database_cleaner.rb +6 -4
  57. data/lib/cucumber/rails/hooks/mail.rb +4 -4
  58. data/lib/cucumber/rails/rspec.rb +3 -1
  59. data/lib/cucumber/rails/world.rb +24 -7
  60. data/lib/generators/cucumber/{install/USAGE → USAGE} +0 -0
  61. data/lib/generators/cucumber/{install/install_generator.rb → install_generator.rb} +23 -10
  62. data/lib/generators/cucumber/{install/templates → templates}/config/cucumber.yml.erb +4 -3
  63. data/lib/generators/cucumber/{install/templates → templates}/script/cucumber +1 -0
  64. data/lib/generators/cucumber/{install/templates → templates}/support/_rails_each_run.rb.erb +2 -2
  65. data/lib/generators/cucumber/{install/templates → templates}/support/_rails_prefork.rb.erb +0 -0
  66. data/lib/generators/cucumber/{install/templates → templates}/support/capybara.rb +2 -0
  67. data/lib/generators/cucumber/{install/templates → templates}/support/edit_warning.txt +0 -0
  68. data/lib/generators/cucumber/{install/templates → templates}/support/rails.rb.erb +0 -0
  69. data/lib/generators/cucumber/{install/templates → templates}/support/rails_spork.rb.erb +0 -0
  70. data/lib/generators/cucumber/{install/templates → templates}/tasks/cucumber.rake.erb +9 -9
  71. data/spec/cucumber/rails/database_spec.rb +46 -33
  72. data/spec/generators/cucumber/{install/install_generator_spec.rb → install_generator_spec.rb} +17 -9
  73. data/spec/spec_helper.rb +13 -4
  74. metadata +105 -139
  75. data/Gemfile.appraisal +0 -3
  76. data/features/support/bundler_pre_support.rb +0 -28
  77. data/features/support/fixtures/bundler-1.0.21.gem +0 -0
  78. data/features/support/fixtures/bundler-1.1.rc.gem +0 -0
  79. data/features/support/legacy_web_steps_support.rb +0 -289
  80. data/gemfiles/lowest_version_bounds.gemfile +0 -26
  81. data/gemfiles/rails_4_0.gemfile +0 -19
  82. data/gemfiles/rails_4_1.gemfile +0 -18
  83. data/lib/cucumber/rails/action_controller.rb +0 -12
@@ -1,8 +1,9 @@
1
1
  <%%
2
2
  rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
3
- rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
4
- std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags ~@wip"
3
+ rerun = rerun.strip.gsub /\s/, ' '
4
+ rerun_opts = rerun.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
5
+ std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags 'not @wip'"
5
6
  %>
6
7
  default: <%= spork? ? '--drb ' : '' %><%%= std_opts %> features
7
8
  wip: <%= spork? ? '--drb ' : '' %>--tags @wip:3 --wip features
8
- rerun: <%= spork? ? '--drb ' : '' %><%%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip
9
+ rerun: <%= spork? ? '--drb ' : '' %><%%= rerun_opts %> --format rerun --out rerun.txt --strict --tags 'not @wip'
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  vendored_cucumber_bin = Dir["#{File.dirname(__FILE__)}/../vendor/{gems,plugins}/cucumber*/bin/cucumber"].first
4
5
  if vendored_cucumber_bin
@@ -27,13 +27,13 @@ end
27
27
  # See the DatabaseCleaner documentation for details. Example:
28
28
  #
29
29
  # Before('@no-txn,@selenium,@culerity,@celerity,@javascript') do
30
- # # { :except => [:widgets] } may not do what you expect here
30
+ # # { except: [:widgets] } may not do what you expect here
31
31
  # # as Cucumber::Rails::Database.javascript_strategy overrides
32
32
  # # this setting.
33
33
  # DatabaseCleaner.strategy = :truncation
34
34
  # end
35
35
  #
36
- # Before('~@no-txn', '~@selenium', '~@culerity', '~@celerity', '~@javascript') do
36
+ # Before('not @no-txn', 'not @selenium', 'not @culerity', 'not @celerity', 'not @javascript') do
37
37
  # DatabaseCleaner.strategy = :transaction
38
38
  # end
39
39
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Capybara defaults to CSS3 selectors rather than XPath.
2
4
  # If you'd prefer to use XPath, just uncomment this line and adjust any
3
5
  # selectors in your step definitions to use the XPath syntax.
@@ -9,26 +9,26 @@ begin
9
9
  require 'cucumber/rake/task'
10
10
 
11
11
  namespace :cucumber do
12
- Cucumber::Rake::Task.new({:ok => 'test:prepare'}, 'Run features that should pass') do |t|
12
+ Cucumber::Rake::Task.new({ok: 'test:prepare'}, 'Run features that should pass') do |t|
13
13
  t.binary = vendored_cucumber_bin # If nil, the gem's binary is used.
14
14
  t.fork = true # You may get faster startup if you set this to false
15
15
  t.profile = 'default'
16
16
  end
17
17
 
18
- Cucumber::Rake::Task.new({:wip => 'test:prepare'}, 'Run features that are being worked on') do |t|
18
+ Cucumber::Rake::Task.new({wip: 'test:prepare'}, 'Run features that are being worked on') do |t|
19
19
  t.binary = vendored_cucumber_bin
20
20
  t.fork = true # You may get faster startup if you set this to false
21
21
  t.profile = 'wip'
22
22
  end
23
23
 
24
- Cucumber::Rake::Task.new({:rerun => 'test:prepare'}, 'Record failing features and run only them if any exist') do |t|
24
+ Cucumber::Rake::Task.new({rerun: 'test:prepare'}, 'Record failing features and run only them if any exist') do |t|
25
25
  t.binary = vendored_cucumber_bin
26
26
  t.fork = true # You may get faster startup if you set this to false
27
27
  t.profile = 'rerun'
28
28
  end
29
29
 
30
30
  desc 'Run all features'
31
- task :all => [:ok, :wip]
31
+ task all: [:ok, :wip]
32
32
 
33
33
  task :statsetup do
34
34
  require 'rails/code_statistics'
@@ -46,11 +46,11 @@ begin
46
46
  end
47
47
  end
48
48
  desc 'Alias for cucumber:ok'
49
- task :cucumber => 'cucumber:ok'
49
+ task cucumber: 'cucumber:ok'
50
50
 
51
- task :default => :cucumber
51
+ task default: :cucumber
52
52
 
53
- task :features => :cucumber do
53
+ task features: :cucumber do
54
54
  STDERR.puts "*** The 'features' task is deprecated. See rake -T cucumber ***"
55
55
  end
56
56
 
@@ -58,9 +58,9 @@ begin
58
58
  task 'test:prepare' do
59
59
  end
60
60
 
61
- task :stats => 'cucumber:statsetup'
61
+ task stats: 'cucumber:statsetup'
62
62
 
63
- task :notes => 'cucumber:annotations_setup'
63
+ task notes: 'cucumber:annotations_setup'
64
64
  rescue LoadError
65
65
  desc 'cucumber rake task not available (cucumber not installed)'
66
66
  task :cucumber do
@@ -1,57 +1,70 @@
1
- # -*- encoding: utf-8 -*-
1
+ # frozen_string_literal: true
2
+
2
3
  require 'cucumber/rails/database'
3
4
 
4
5
  describe Cucumber::Rails::Database do
6
+ before { allow(strategy_type).to receive(:new).and_return(strategy) }
7
+
8
+ let(:strategy) { instance_double(strategy_type, before_js: nil, before_non_js: nil) }
9
+ let(:strategy_type) { Cucumber::Rails::Database::TruncationStrategy }
5
10
 
6
- let(:strategy) { double(before_js: nil, before_non_js: nil) }
11
+ context 'when using a valid pre-determined strategy' do
12
+ before { described_class.javascript_strategy = :truncation }
7
13
 
8
- it 'forwards events to the selected strategy' do
9
- allow(Cucumber::Rails::Database::TruncationStrategy).to receive_messages(new: strategy)
10
- Cucumber::Rails::Database.javascript_strategy = :truncation
14
+ it 'forwards a `before_non_js` event to the selected strategy' do
15
+ expect(strategy).to receive(:before_non_js)
16
+
17
+ described_class.before_non_js
18
+ end
11
19
 
12
- expect(strategy).to receive(:before_non_js).ordered
13
- Cucumber::Rails::Database.before_non_js
20
+ it 'forwards a `before_js` event to the selected strategy' do
21
+ expect(strategy).to receive(:before_js)
14
22
 
15
- expect(strategy).to receive(:before_js).ordered
16
- Cucumber::Rails::Database.before_js
23
+ described_class.before_js
24
+ end
17
25
  end
18
26
 
19
- it 'raises an error if you use a non-understood strategy' do
20
- expect { Cucumber::Rails::Database.javascript_strategy = :invalid }.to raise_error(Cucumber::Rails::Database::InvalidStrategy)
27
+ context 'when using an invalid pre-determined strategy' do
28
+ it 'raises an error if you use a non-understood strategy' do
29
+ expect { described_class.javascript_strategy = :invalid }
30
+ .to raise_error(Cucumber::Rails::Database::InvalidStrategy)
31
+ end
21
32
  end
22
33
 
23
- describe 'using a custom strategy' do
24
- class ValidStrategy
25
- def before_js
26
- # Anything
27
- end
34
+ context 'when using a valid custom strategy' do
35
+ before { described_class.javascript_strategy = strategy_type }
28
36
 
29
- def before_non_js
30
- # Likewise
37
+ let(:strategy_type) do
38
+ Class.new do
39
+ def before_js
40
+ # Anything
41
+ end
42
+
43
+ def before_non_js
44
+ # Likewise
45
+ end
31
46
  end
32
47
  end
33
48
 
34
- class InvalidStrategy
35
- end
49
+ it 'forwards a `before_non_js` event to the strategy' do
50
+ expect(strategy).to receive(:before_non_js)
36
51
 
37
- it 'raises an error if the strategy doens\'t support the protocol' do
38
- expect { Cucumber::Rails::Database.javascript_strategy = InvalidStrategy }.to raise_error(ArgumentError)
52
+ described_class.before_non_js
39
53
  end
40
54
 
41
- it 'accepts a custom strategy with a valid interface' do
42
- expect { Cucumber::Rails::Database.javascript_strategy = ValidStrategy }.not_to raise_error
43
- end
55
+ it 'forwards a `before_js` event to the strategy' do
56
+ expect(strategy).to receive(:before_js)
44
57
 
45
- it 'forwards events to a custom strategy' do
46
- allow(ValidStrategy).to receive_messages(new: strategy)
47
- Cucumber::Rails::Database.javascript_strategy = ValidStrategy
58
+ described_class.before_js
59
+ end
60
+ end
48
61
 
49
- expect(strategy).to receive(:before_non_js).ordered
50
- Cucumber::Rails::Database.before_non_js
62
+ context 'when using an invalid custom strategy' do
63
+ let(:invalid_strategy) { Class.new }
51
64
 
52
- expect(strategy).to receive(:before_js).ordered
53
- Cucumber::Rails::Database.before_js
65
+ it 'raises an error if the strategy does not have a valid interface' do
66
+ expect { described_class.javascript_strategy = invalid_strategy }
67
+ .to raise_error(ArgumentError)
54
68
  end
55
69
  end
56
-
57
70
  end
@@ -1,47 +1,55 @@
1
- require 'spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
3
  # Generators are not automatically loaded by Rails
4
- require 'generators/cucumber/install/install_generator'
4
+ require 'generators/cucumber/install_generator'
5
5
 
6
6
  describe Cucumber::InstallGenerator do
7
7
  # Tell the generator where to put its output (what it thinks of as Rails.root)
8
- destination File.expand_path('../../../../../tmp', __FILE__)
8
+ destination File.expand_path('../../../../tmp', __dir__)
9
9
 
10
10
  before { prepare_destination }
11
11
 
12
- describe 'no arguments' do
13
- before { run_generator }
12
+ let(:auto_generated_message) do
13
+ '# IMPORTANT: This file is generated by cucumber-rails - edit at your own peril.'
14
+ end
15
+
16
+ context 'without arguments' do
17
+ before { run_generator }
14
18
 
15
19
  describe 'config/cucumber.yml' do
16
20
  subject { file('config/cucumber.yml') }
21
+
17
22
  it { is_expected.to exist }
18
23
  it { is_expected.to contain 'default: <%= std_opts %> features' }
19
24
  end
20
25
 
21
26
  describe 'features/step_definitions folder' do
22
27
  subject { file('features/step_definitions') }
28
+
23
29
  it { is_expected.to exist }
24
30
  end
25
31
 
26
32
  describe 'features/support/env.rb' do
27
33
  subject { file('features/support/env.rb') }
34
+
28
35
  it { is_expected.to exist }
29
- it { is_expected.to contain '# IMPORTANT: This file is generated by cucumber-rails - edit at your own peril.' }
36
+ it { is_expected.to contain auto_generated_message }
30
37
  it { is_expected.to contain "require 'cucumber/rails'" }
31
38
  end
32
39
 
33
40
  describe 'lib/tasks/cucumber.rake' do
34
41
  subject { file('lib/tasks/cucumber.rake') }
42
+
35
43
  it { is_expected.to exist }
36
- it { is_expected.to contain '# IMPORTANT: This file is generated by cucumber-rails - edit at your own peril.' }
37
- it { is_expected.to contain "task :cucumber => 'cucumber:ok'" }
44
+ it { is_expected.to contain auto_generated_message }
45
+ it { is_expected.to contain "task cucumber: 'cucumber:ok'" }
38
46
  end
39
47
 
40
48
  describe 'script/cucumber' do
41
49
  subject { file('script/cucumber') }
50
+
42
51
  it { is_expected.to exist }
43
52
  it { is_expected.to contain 'load Cucumber::BINARY' }
44
53
  end
45
-
46
54
  end
47
55
  end
@@ -1,7 +1,16 @@
1
- require 'rubygems'
1
+ # frozen_string_literal: true
2
2
 
3
- require 'rails/version'
4
3
  require 'rspec/rails/fixture_support'
5
- # Avoid load order issues in activesupport
6
- require 'active_support/deprecation'
4
+ require 'rails/all'
5
+
6
+ ActiveRecord::Base.establish_connection adapter: 'sqlite3', database: ':memory:'
7
+
8
+ module CucumberRails
9
+ class Application < ::Rails::Application
10
+ config.secret_key_base = 'ASecretString'
11
+ end
12
+ end
13
+
14
+ require 'rspec/support/spec'
15
+ require 'rspec/rails'
7
16
  require 'ammeter/init'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aslak Hellesøy
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-05-12 00:00:00.000000000 Z
13
+ date: 2020-06-23 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: capybara
@@ -18,319 +18,283 @@ dependencies:
18
18
  requirements:
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: 1.1.2
21
+ version: '2.12'
22
22
  - - "<"
23
23
  - !ruby/object:Gem::Version
24
- version: '3'
24
+ version: '4'
25
25
  type: :runtime
26
26
  prerelease: false
27
27
  version_requirements: !ruby/object:Gem::Requirement
28
28
  requirements:
29
29
  - - ">="
30
30
  - !ruby/object:Gem::Version
31
- version: 1.1.2
31
+ version: '2.12'
32
32
  - - "<"
33
33
  - !ruby/object:Gem::Version
34
- version: '3'
34
+ version: '4'
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: cucumber
37
37
  requirement: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - ">="
40
40
  - !ruby/object:Gem::Version
41
- version: 1.3.8
41
+ version: 3.0.2
42
42
  - - "<"
43
43
  - !ruby/object:Gem::Version
44
- version: '4'
44
+ version: '5'
45
45
  type: :runtime
46
46
  prerelease: false
47
47
  version_requirements: !ruby/object:Gem::Requirement
48
48
  requirements:
49
49
  - - ">="
50
50
  - !ruby/object:Gem::Version
51
- version: 1.3.8
51
+ version: 3.0.2
52
52
  - - "<"
53
53
  - !ruby/object:Gem::Version
54
- version: '4'
55
- - !ruby/object:Gem::Dependency
56
- name: nokogiri
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '1.5'
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '1.5'
54
+ version: '5'
69
55
  - !ruby/object:Gem::Dependency
70
- name: railties
56
+ name: mime-types
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
59
  - - ">="
74
60
  - !ruby/object:Gem::Version
75
- version: '4'
61
+ version: '2.0'
76
62
  - - "<"
77
63
  - !ruby/object:Gem::Version
78
- version: '5.2'
64
+ version: '4'
79
65
  type: :runtime
80
66
  prerelease: false
81
67
  version_requirements: !ruby/object:Gem::Requirement
82
68
  requirements:
83
69
  - - ">="
84
70
  - !ruby/object:Gem::Version
85
- version: '4'
71
+ version: '2.0'
86
72
  - - "<"
87
73
  - !ruby/object:Gem::Version
88
- version: '5.2'
74
+ version: '4'
89
75
  - !ruby/object:Gem::Dependency
90
- name: mime-types
76
+ name: nokogiri
91
77
  requirement: !ruby/object:Gem::Requirement
92
78
  requirements:
93
- - - ">="
94
- - !ruby/object:Gem::Version
95
- version: '1.17'
96
- - - "<"
79
+ - - "~>"
97
80
  - !ruby/object:Gem::Version
98
- version: '4'
81
+ version: '1.8'
99
82
  type: :runtime
100
83
  prerelease: false
101
84
  version_requirements: !ruby/object:Gem::Requirement
102
85
  requirements:
103
- - - ">="
104
- - !ruby/object:Gem::Version
105
- version: '1.17'
106
- - - "<"
86
+ - - "~>"
107
87
  - !ruby/object:Gem::Version
108
- version: '4'
88
+ version: '1.8'
109
89
  - !ruby/object:Gem::Dependency
110
- name: ammeter
90
+ name: rails
111
91
  requirement: !ruby/object:Gem::Requirement
112
92
  requirements:
113
93
  - - ">="
114
94
  - !ruby/object:Gem::Version
115
- version: 1.0.0
95
+ version: '4.2'
116
96
  - - "<"
117
97
  - !ruby/object:Gem::Version
118
- version: 1.1.3
119
- type: :development
98
+ version: '7'
99
+ type: :runtime
120
100
  prerelease: false
121
101
  version_requirements: !ruby/object:Gem::Requirement
122
102
  requirements:
123
103
  - - ">="
124
104
  - !ruby/object:Gem::Version
125
- version: 1.0.0
105
+ version: '4.2'
126
106
  - - "<"
127
107
  - !ruby/object:Gem::Version
128
- version: 1.1.3
108
+ version: '7'
129
109
  - !ruby/object:Gem::Dependency
130
- name: appraisal
110
+ name: ammeter
131
111
  requirement: !ruby/object:Gem::Requirement
132
112
  requirements:
133
113
  - - ">="
134
114
  - !ruby/object:Gem::Version
135
- version: 0.5.1
115
+ version: 1.1.4
136
116
  type: :development
137
117
  prerelease: false
138
118
  version_requirements: !ruby/object:Gem::Requirement
139
119
  requirements:
140
120
  - - ">="
141
121
  - !ruby/object:Gem::Version
142
- version: 0.5.1
122
+ version: 1.1.4
143
123
  - !ruby/object:Gem::Dependency
144
- name: aruba
124
+ name: appraisal
145
125
  requirement: !ruby/object:Gem::Requirement
146
126
  requirements:
147
127
  - - "~>"
148
128
  - !ruby/object:Gem::Version
149
- version: 0.14.2
129
+ version: '2.2'
150
130
  type: :development
151
131
  prerelease: false
152
132
  version_requirements: !ruby/object:Gem::Requirement
153
133
  requirements:
154
134
  - - "~>"
155
135
  - !ruby/object:Gem::Version
156
- version: 0.14.2
136
+ version: '2.2'
157
137
  - !ruby/object:Gem::Dependency
158
- name: builder
138
+ name: aruba
159
139
  requirement: !ruby/object:Gem::Requirement
160
140
  requirements:
161
- - - ">="
162
- - !ruby/object:Gem::Version
163
- version: 3.1.0
164
- - - "<"
141
+ - - "~>"
165
142
  - !ruby/object:Gem::Version
166
- version: '4'
143
+ version: '1.0'
167
144
  type: :development
168
145
  prerelease: false
169
146
  version_requirements: !ruby/object:Gem::Requirement
170
147
  requirements:
171
- - - ">="
172
- - !ruby/object:Gem::Version
173
- version: 3.1.0
174
- - - "<"
148
+ - - "~>"
175
149
  - !ruby/object:Gem::Version
176
- version: '4'
150
+ version: '1.0'
177
151
  - !ruby/object:Gem::Dependency
178
152
  name: bundler
179
153
  requirement: !ruby/object:Gem::Requirement
180
154
  requirements:
181
155
  - - ">="
182
156
  - !ruby/object:Gem::Version
183
- version: 1.3.5
184
- type: :development
185
- prerelease: false
186
- version_requirements: !ruby/object:Gem::Requirement
187
- requirements:
188
- - - ">="
189
- - !ruby/object:Gem::Version
190
- version: 1.3.5
191
- - !ruby/object:Gem::Dependency
192
- name: selenium-webdriver
193
- requirement: !ruby/object:Gem::Requirement
194
- requirements:
195
- - - ">="
196
- - !ruby/object:Gem::Version
197
- version: 2.45.0
157
+ version: '1.17'
198
158
  type: :development
199
159
  prerelease: false
200
160
  version_requirements: !ruby/object:Gem::Requirement
201
161
  requirements:
202
162
  - - ">="
203
163
  - !ruby/object:Gem::Version
204
- version: 2.45.0
164
+ version: '1.17'
205
165
  - !ruby/object:Gem::Dependency
206
- name: database_cleaner
166
+ name: rake
207
167
  requirement: !ruby/object:Gem::Requirement
208
168
  requirements:
209
169
  - - ">="
210
170
  - !ruby/object:Gem::Version
211
- version: 1.0.0
171
+ version: '12.0'
212
172
  type: :development
213
173
  prerelease: false
214
174
  version_requirements: !ruby/object:Gem::Requirement
215
175
  requirements:
216
176
  - - ">="
217
177
  - !ruby/object:Gem::Version
218
- version: 1.0.0
178
+ version: '12.0'
219
179
  - !ruby/object:Gem::Dependency
220
- name: factory_girl
180
+ name: rspec
221
181
  requirement: !ruby/object:Gem::Requirement
222
182
  requirements:
223
- - - ">="
183
+ - - "~>"
224
184
  - !ruby/object:Gem::Version
225
- version: '3.2'
185
+ version: '3.6'
226
186
  type: :development
227
187
  prerelease: false
228
188
  version_requirements: !ruby/object:Gem::Requirement
229
189
  requirements:
230
- - - ">="
190
+ - - "~>"
231
191
  - !ruby/object:Gem::Version
232
- version: '3.2'
192
+ version: '3.6'
233
193
  - !ruby/object:Gem::Dependency
234
- name: rake
194
+ name: rubocop
235
195
  requirement: !ruby/object:Gem::Requirement
236
196
  requirements:
237
- - - ">="
197
+ - - "~>"
238
198
  - !ruby/object:Gem::Version
239
- version: 0.9.2.2
199
+ version: 0.85.0
240
200
  type: :development
241
201
  prerelease: false
242
202
  version_requirements: !ruby/object:Gem::Requirement
243
203
  requirements:
244
- - - ">="
204
+ - - "~>"
245
205
  - !ruby/object:Gem::Version
246
- version: 0.9.2.2
206
+ version: 0.85.0
247
207
  - !ruby/object:Gem::Dependency
248
- name: rspec
208
+ name: rubocop-performance
249
209
  requirement: !ruby/object:Gem::Requirement
250
210
  requirements:
251
211
  - - "~>"
252
212
  - !ruby/object:Gem::Version
253
- version: '3.0'
213
+ version: 1.6.1
254
214
  type: :development
255
215
  prerelease: false
256
216
  version_requirements: !ruby/object:Gem::Requirement
257
217
  requirements:
258
218
  - - "~>"
259
219
  - !ruby/object:Gem::Version
260
- version: '3.0'
220
+ version: 1.6.1
261
221
  - !ruby/object:Gem::Dependency
262
- name: rails
222
+ name: rubocop-rspec
263
223
  requirement: !ruby/object:Gem::Requirement
264
224
  requirements:
265
- - - ">="
225
+ - - "~>"
266
226
  - !ruby/object:Gem::Version
267
- version: '0'
227
+ version: 1.39.0
268
228
  type: :development
269
229
  prerelease: false
270
230
  version_requirements: !ruby/object:Gem::Requirement
271
231
  requirements:
272
- - - ">="
232
+ - - "~>"
273
233
  - !ruby/object:Gem::Version
274
- version: '0'
234
+ version: 1.39.0
275
235
  - !ruby/object:Gem::Dependency
276
- name: rdiscount
236
+ name: sqlite3
277
237
  requirement: !ruby/object:Gem::Requirement
278
238
  requirements:
279
- - - ">="
239
+ - - "~>"
280
240
  - !ruby/object:Gem::Version
281
- version: 2.0.7
241
+ version: '1.3'
282
242
  type: :development
283
243
  prerelease: false
284
244
  version_requirements: !ruby/object:Gem::Requirement
285
245
  requirements:
286
- - - ">="
246
+ - - "~>"
287
247
  - !ruby/object:Gem::Version
288
- version: 2.0.7
248
+ version: '1.3'
289
249
  - !ruby/object:Gem::Dependency
290
250
  name: rdoc
291
251
  requirement: !ruby/object:Gem::Requirement
292
252
  requirements:
293
253
  - - ">="
294
254
  - !ruby/object:Gem::Version
295
- version: '3.4'
255
+ version: '6.0'
296
256
  type: :development
297
257
  prerelease: false
298
258
  version_requirements: !ruby/object:Gem::Requirement
299
259
  requirements:
300
260
  - - ">="
301
261
  - !ruby/object:Gem::Version
302
- version: '3.4'
262
+ version: '6.0'
303
263
  - !ruby/object:Gem::Dependency
304
264
  name: yard
305
265
  requirement: !ruby/object:Gem::Requirement
306
266
  requirements:
307
- - - ">="
267
+ - - "~>"
308
268
  - !ruby/object:Gem::Version
309
- version: 0.8.7
269
+ version: 0.9.10
310
270
  type: :development
311
271
  prerelease: false
312
272
  version_requirements: !ruby/object:Gem::Requirement
313
273
  requirements:
314
- - - ">="
274
+ - - "~>"
315
275
  - !ruby/object:Gem::Version
316
- version: 0.8.7
276
+ version: 0.9.10
317
277
  description: Cucumber Generator and Runtime for Rails
318
278
  email: cukes@googlegroups.com
319
279
  executables: []
320
280
  extensions: []
321
281
  extra_rdoc_files: []
322
282
  files:
283
+ - ".github/ISSUE_TEMPLATE.md"
284
+ - ".github/PULL_REQUEST_TEMPLATE.md"
323
285
  - ".gitignore"
324
286
  - ".rspec"
287
+ - ".rubocop.yml"
325
288
  - ".travis.yml"
326
289
  - Appraisals
290
+ - CHANGELOG.md
327
291
  - CONTRIBUTING.md
328
292
  - Gemfile
329
- - Gemfile.appraisal
330
- - History.md
331
293
  - LICENSE
332
294
  - README.md
333
295
  - Rakefile
296
+ - bin/install_geckodriver.sh
297
+ - bin/install_webpacker.sh
334
298
  - config/.gitignore
335
299
  - config/cucumber.yml
336
300
  - cucumber-rails.gemspec
@@ -347,6 +311,7 @@ files:
347
311
  - features/annotations.feature
348
312
  - features/capybara_javascript_drivers.feature
349
313
  - features/choose_javascript_database_strategy.feature
314
+ - features/configuration.feature
350
315
  - features/database_cleaner.feature
351
316
  - features/disable_automatic_database_cleaning.feature
352
317
  - features/emulate_javascript.feature
@@ -357,19 +322,16 @@ files:
357
322
  - features/rest_api.feature
358
323
  - features/step_definitions/cucumber_rails_steps.rb
359
324
  - features/support/aruba.rb
360
- - features/support/bundler_pre_support.rb
325
+ - features/support/cucumber_rails_helper.rb
361
326
  - features/support/env.rb
362
- - features/support/fixtures/bundler-1.0.21.gem
363
- - features/support/fixtures/bundler-1.1.rc.gem
364
- - features/support/legacy_web_steps_support.rb
365
- - gemfiles/lowest_version_bounds.gemfile
366
- - gemfiles/rails_4_0.gemfile
367
- - gemfiles/rails_4_1.gemfile
327
+ - features/support/hooks.rb
368
328
  - gemfiles/rails_4_2.gemfile
369
329
  - gemfiles/rails_5_0.gemfile
370
330
  - gemfiles/rails_5_1.gemfile
331
+ - gemfiles/rails_5_2.gemfile
332
+ - gemfiles/rails_6_0.gemfile
371
333
  - lib/cucumber/rails.rb
372
- - lib/cucumber/rails/action_controller.rb
334
+ - lib/cucumber/rails/action_dispatch.rb
373
335
  - lib/cucumber/rails/application.rb
374
336
  - lib/cucumber/rails/capybara.rb
375
337
  - lib/cucumber/rails/capybara/javascript_emulation.rb
@@ -382,24 +344,29 @@ files:
382
344
  - lib/cucumber/rails/hooks/mail.rb
383
345
  - lib/cucumber/rails/rspec.rb
384
346
  - lib/cucumber/rails/world.rb
385
- - lib/generators/cucumber/install/USAGE
386
- - lib/generators/cucumber/install/install_generator.rb
387
- - lib/generators/cucumber/install/templates/config/cucumber.yml.erb
388
- - lib/generators/cucumber/install/templates/script/cucumber
389
- - lib/generators/cucumber/install/templates/support/_rails_each_run.rb.erb
390
- - lib/generators/cucumber/install/templates/support/_rails_prefork.rb.erb
391
- - lib/generators/cucumber/install/templates/support/capybara.rb
392
- - lib/generators/cucumber/install/templates/support/edit_warning.txt
393
- - lib/generators/cucumber/install/templates/support/rails.rb.erb
394
- - lib/generators/cucumber/install/templates/support/rails_spork.rb.erb
395
- - lib/generators/cucumber/install/templates/tasks/cucumber.rake.erb
347
+ - lib/generators/cucumber/USAGE
348
+ - lib/generators/cucumber/install_generator.rb
349
+ - lib/generators/cucumber/templates/config/cucumber.yml.erb
350
+ - lib/generators/cucumber/templates/script/cucumber
351
+ - lib/generators/cucumber/templates/support/_rails_each_run.rb.erb
352
+ - lib/generators/cucumber/templates/support/_rails_prefork.rb.erb
353
+ - lib/generators/cucumber/templates/support/capybara.rb
354
+ - lib/generators/cucumber/templates/support/edit_warning.txt
355
+ - lib/generators/cucumber/templates/support/rails.rb.erb
356
+ - lib/generators/cucumber/templates/support/rails_spork.rb.erb
357
+ - lib/generators/cucumber/templates/tasks/cucumber.rake.erb
396
358
  - spec/cucumber/rails/database_spec.rb
397
- - spec/generators/cucumber/install/install_generator_spec.rb
359
+ - spec/generators/cucumber/install_generator_spec.rb
398
360
  - spec/spec_helper.rb
399
- homepage: http://cukes.info
361
+ homepage: https://cucumber.io
400
362
  licenses:
401
363
  - MIT
402
- metadata: {}
364
+ metadata:
365
+ bug_tracker_uri: https://github.com/cucumber/cucumber-rails/issues
366
+ changelog_uri: https://github.com/cucumber/cucumber-rails/blob/v2.1.0/CHANGELOG.md
367
+ documentation_uri: https://cucumber.io/docs
368
+ mailing_list_uri: https://groups.google.com/forum/#!forum/cukes
369
+ source_code_uri: https://github.com/cucumber/cucumber-rails/tree/v2.1.0
403
370
  post_install_message:
404
371
  rdoc_options: []
405
372
  require_paths:
@@ -408,16 +375,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
408
375
  requirements:
409
376
  - - ">="
410
377
  - !ruby/object:Gem::Version
411
- version: '0'
378
+ version: 2.4.0
412
379
  required_rubygems_version: !ruby/object:Gem::Requirement
413
380
  requirements:
414
381
  - - ">="
415
382
  - !ruby/object:Gem::Version
416
383
  version: '0'
417
384
  requirements: []
418
- rubyforge_project:
419
- rubygems_version: 2.6.8
385
+ rubygems_version: 3.1.2
420
386
  signing_key:
421
387
  specification_version: 4
422
- summary: cucumber-rails-1.5.0
388
+ summary: cucumber-rails-2.1.0
423
389
  test_files: []