Skip to content

Commit

Permalink
Merge pull request #2067 from benoittgt/3-8-maintenance-prep
Browse files Browse the repository at this point in the history
3.8.2 release
  • Loading branch information
benoittgt committed Jan 17, 2019
2 parents 7cc0166 + 987bd32 commit 0d0ce9e
Show file tree
Hide file tree
Showing 15 changed files with 92 additions and 14 deletions.
2 changes: 1 addition & 1 deletion .rubocop_rspec_base.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# This file was generated on 2018-04-03T19:49:13+10:00 from the rspec-dev repo.
# This file was generated on 2019-01-03T20:34:23+00:00 from the rspec-dev repo.
# DO NOT modify it by hand as your changes will get lost the next time it is generated.

# This file contains defaults for RSpec projects. Individual projects
Expand Down
4 changes: 2 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ cache: bundler
bundler_args: "--binstubs --path ../bundle --retry=3 --jobs=3"

before_install:
- gem update --system 2.7.8
- gem install bundler
- script/update_rubygems_and_install_bundler
- script/downgrade_bundler_on_old_rails
- script/clone_all_rspec_repos

before_script:
Expand Down
10 changes: 9 additions & 1 deletion Changelog.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,19 @@
### Development
[Full Changelog](http://github.com/rspec/rspec-rails/compare/v3.8.1...master)
[Full Changelog](http://github.com/rspec/rspec-rails/compare/v3.8.2...master)

### 3.8.2 / 2019-01-13
[Full Changelog](http://github.com/rspec/rspec-rails/compare/v3.8.1...v3.8.2)

Bug Fixes:

* Fix issue with generator for preview specs where `Mailer` would be duplicated
in the name. (Kohei Sugi, #2037)
* Fix the request spec generator to handle namespaced files. (Kohei Sugi, #2057)
* Further truncate system test filenames to handle cases when extra words are
prepended. (Takumi Kaji, #2058)
* Backport: Make the `ActiveJob` matchers fail when multiple jobs are queued
for negated matches. e.g. `expect { job; job; }.to_not have_enqueued_job
(Emric Istanful, #2069)

### 3.8.1 / 2018-10-23
[Full Changelog](http://github.com/rspec/rspec-rails/compare/v3.8.0...v3.8.1)
Expand Down
3 changes: 1 addition & 2 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# This file was generated on 2018-04-03T19:49:13+10:00 from the rspec-dev repo.
# This file was generated on 2019-01-03T20:34:23+00:00 from the rspec-dev repo.
# DO NOT modify it by hand as your changes will get lost the next time it is generated.

version: "{build}"
Expand Down Expand Up @@ -33,7 +33,6 @@ test_script:

environment:
matrix:
- ruby_version: 193
- ruby_version: 200
- ruby_version: 21
- ruby_version: 22
Expand Down
2 changes: 1 addition & 1 deletion lib/rspec/rails/example/system_example_group.rb
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ def method_name
@method_name ||= [
self.class.name.underscore,
RSpec.current_example.description.underscore
].join("_").tr(CHARS_TO_TRANSLATE.join, "_")[0...251] + "_#{rand(1000)}"
].join("_").tr(CHARS_TO_TRANSLATE.join, "_")[0...200] + "_#{rand(1000)}"
end

# Delegates to `Rails.application`.
Expand Down
12 changes: 12 additions & 0 deletions lib/rspec/rails/matchers/active_job.rb
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,12 @@ def matches?(proc)

check(in_block_jobs)
end

def does_not_match?(proc)
set_expected_number(:at_least, 1)

!matches?(proc)
end
end

# @private
Expand All @@ -205,6 +211,12 @@ def matches?(job)
@job = job
check(queue_adapter.enqueued_jobs)
end

def does_not_match?(proc)
set_expected_number(:at_least, 1)

!matches?(proc)
end
end
end

Expand Down
2 changes: 1 addition & 1 deletion lib/rspec/rails/version.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ module Rails
# Version information for RSpec Rails.
module Version
# Current version of RSpec Rails, in semantic versioning format.
STRING = '3.8.1'
STRING = '3.8.2'
end
end
end
2 changes: 1 addition & 1 deletion script/clone_all_rspec_repos
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
# This file was generated on 2018-04-03T19:49:13+10:00 from the rspec-dev repo.
# This file was generated on 2019-01-03T20:34:23+00:00 from the rspec-dev repo.
# DO NOT modify it by hand as your changes will get lost the next time it is generated.

set -e
Expand Down
19 changes: 19 additions & 0 deletions script/downgrade_bundler_on_old_rails
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/bash
# This file was generated on 2019-01-03T20:34:23+00:00 from the rspec-dev repo.
# DO NOT modify it by hand as your changes will get lost the next time it is generated.

set -e
source script/functions.sh

if ruby -e "exit(ENV['RAILS_VERSION'].to_f < 5)"; then
# On Rails versions less than 5, Bundler 2.0 is not supported
echo "Warning dowgrading to older version of Bundler"
gem uninstall -aIx bundler

# this only works on Ruby 2.3 which is luckily the version we need to fix
if is_ruby_23_plus; then
rvm @global do gem uninstall -aIx bundler
fi

gem install bundler -v '1.17.3'
fi
2 changes: 1 addition & 1 deletion script/functions.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# This file was generated on 2018-04-03T19:49:13+10:00 from the rspec-dev repo.
# This file was generated on 2019-01-03T20:34:23+00:00 from the rspec-dev repo.
# DO NOT modify it by hand as your changes will get lost the next time it is generated.

SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
Expand Down
10 changes: 9 additions & 1 deletion script/predicate_functions.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# This file was generated on 2018-04-03T19:49:13+10:00 from the rspec-dev repo.
# This file was generated on 2019-01-03T20:34:23+00:00 from the rspec-dev repo.
# DO NOT modify it by hand as your changes will get lost the next time it is generated.

function is_mri {
Expand Down Expand Up @@ -57,6 +57,14 @@ function is_mri_2plus {
fi
}

function is_ruby_23_plus {
if ruby -e "exit(RUBY_VERSION.to_f >= 2.3)"; then
return 0
else
return 1
fi
}

function rspec_support_compatible {
if [ "$MAINTENANCE_BRANCH" != "2-99-maintenance" ] && [ "$MAINTENANCE_BRANCH" != "2-14-maintenance" ]; then
return 0
Expand Down
2 changes: 1 addition & 1 deletion script/run_build
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
# This file was generated on 2018-04-03T19:49:13+10:00 from the rspec-dev repo.
# This file was generated on 2019-01-03T20:34:23+00:00 from the rspec-dev repo.
# DO NOT modify it by hand as your changes will get lost the next time it is generated.

set -e
Expand Down
2 changes: 1 addition & 1 deletion script/travis_functions.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# This file was generated on 2018-04-03T19:49:13+10:00 from the rspec-dev repo.
# This file was generated on 2019-01-03T20:34:23+00:00 from the rspec-dev repo.
# DO NOT modify it by hand as your changes will get lost the next time it is generated.

# Taken from:
Expand Down
15 changes: 15 additions & 0 deletions script/update_rubygems_and_install_bundler
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/bin/bash
# This file was generated on 2019-01-03T20:34:23+00:00 from the rspec-dev repo.
# DO NOT modify it by hand as your changes will get lost the next time it is generated.

set -e
source script/functions.sh

if is_ruby_23_plus; then
gem update --system
gem install bundler
else
echo "Warning installing older versions of Rubygems / Bundler"
gem update --system '2.7.8'
gem install bundler -v '1.17.3'
fi
19 changes: 18 additions & 1 deletion spec/rspec/rails/matchers/active_job_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,16 @@ def self.name; "LoggingJob"; end
it "fails when negated and job is enqueued" do
expect {
expect { heavy_lifting_job.perform_later }.not_to have_enqueued_job
}.to raise_error(/expected not to enqueue exactly 1 jobs, but enqueued 1/)
}.to raise_error(/expected not to enqueue at least 1 jobs, but enqueued 1/)
end

it "fails when negated and several jobs enqueued" do
expect {
expect {
heavy_lifting_job.perform_later
heavy_lifting_job.perform_later
}.not_to have_enqueued_job
}.to raise_error(/expected not to enqueue at least 1 jobs, but enqueued 2/)
end

it "passes with job name" do
Expand Down Expand Up @@ -344,5 +353,13 @@ def self.name; "LoggingJob"; end
expect(heavy_lifting_job).to have_been_enqueued
}.to raise_error(/expected to enqueue exactly 1 jobs, but enqueued 0/)
end

it "fails when negated and several jobs enqueued" do
heavy_lifting_job.perform_later
heavy_lifting_job.perform_later
expect {
expect(heavy_lifting_job).not_to have_been_enqueued
}.to raise_error(/expected not to enqueue at least 1 jobs, but enqueued 2/)
end
end
end

0 comments on commit 0d0ce9e

Please sign in to comment.