Skip to content

Commit

Permalink
Add support for cucumber 9
Browse files Browse the repository at this point in the history
  • Loading branch information
vlad-psh committed Nov 16, 2023
1 parent 137c35d commit b3e157d
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 4 deletions.
1 change: 1 addition & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ gem "rails", "~> #{ENV['RAILS_VERSION'] || '7.0'}.0"
gem "cucumber", "~> #{ENV['CUKES_VERSION'] || '7.0'}"
gem "cucumber-rails"
gem 'fabrication', github: 'mathieujobin/fabrication', ref: '923cf6fcefd0566b1d6be7bd2f685b89388f4800'
gem 'sprockets-rails'
3 changes: 3 additions & 0 deletions History.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
== 0.9.0
* Added support for Cucumber 9.x

== 0.8.0
* Added support for Cucumber 8.x
* Removed support for Rails 4.2 -> 5.2
Expand Down
6 changes: 4 additions & 2 deletions Rakefile.d/cucumber.rake
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,16 @@ namespace :cucumber do
sh "BUNDLE_GEMFILE=#{current_gemfile} bundle show cucumber > /tmp/cukes_version"
sh "BUNDLE_GEMFILE=#{current_gemfile} bundle show sqlite3 > /tmp/sqlite_version"
cukes_version=File.read('/tmp/cukes_version').split('-').last.chomp
sqlite_version=File.read('/tmp/sqlite_version').split('-').last.chomp
# Example 'sqlite_version' output:
# /Users/username/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/sqlite3-1.6.8-arm64-darwin
sqlite_version=File.basename(File.read('/tmp/sqlite_version')).split('-')[1].chomp
puts "Versions: Cucumber #{cukes_version}, SQLite #{sqlite_version}."
Bundler.with_clean_env do
gemfile = "cucumber_test_app/Gemfile"
rm_rf "cucumber_test_app"
sh "BUNDLE_GEMFILE=#{current_gemfile} bundle exec rails new cucumber_test_app --skip-spring --skip-javascript --skip-sprockets --skip-bootsnap"
sh "echo 'gem \"cucumber\", \"~> #{cukes_version}\", :require => false' >> #{gemfile}"
sh "sed -i 's/gem .sqlite3./gem \"sqlite3\", \"~> #{sqlite_version}\"/' #{gemfile}"
sh "sed -i'' -e 's/gem .sqlite3./gem \"sqlite3\", \"~> #{sqlite_version}\"/' #{gemfile}"
sh "cat #{gemfile} | grep sqli"
sh "echo 'gem \"cucumber-rails\", :require => false' >> #{gemfile}"
sh "echo 'gem \"rspec-rails\", \"~>3.0\"' >> #{gemfile}"
Expand Down
12 changes: 12 additions & 0 deletions features/support/env.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,16 @@
require 'cucumber/rails'
Capybara.default_selector = :css
ActionController::Base.allow_rescue = false

require 'database_cleaner/active_record'
DatabaseCleaner.strategy = :truncation

Around do |scenario, block|
DatabaseCleaner.cleaning(&block)
end

# Rails deprecated 'Fixnum' and 'Bignum' since 3.2 (both replaced by 'Integer')
# But 'machinist' still uses 'Fixnum', so we have to use workaround:
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.2')
class Fixnum < Integer; end
end
2 changes: 1 addition & 1 deletion lib/pickle/version.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module Pickle
VERSION = "0.8.0"
VERSION = "0.9.0"
end
2 changes: 1 addition & 1 deletion pickle.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Gem::Specification.new do |s|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
s.require_paths = ["lib"]

s.add_dependency "cucumber", ">=3.0", "< 9.0"
s.add_dependency "cucumber", ">=3.0", "< 10.0"
s.add_dependency "rake"

s.add_development_dependency "rack"
Expand Down

0 comments on commit b3e157d

Please sign in to comment.