Skip to content

Commit 0d0ce9e

Browse files
authored
Merge pull request #2067 from benoittgt/3-8-maintenance-prep
3.8.2 release
2 parents 7cc0166 + 987bd32 commit 0d0ce9e

15 files changed

+92
-14
lines changed

.rubocop_rspec_base.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# This file was generated on 2018-04-03T19:49:13+10:00 from the rspec-dev repo.
1+
# This file was generated on 2019-01-03T20:34:23+00:00 from the rspec-dev repo.
22
# DO NOT modify it by hand as your changes will get lost the next time it is generated.
33

44
# This file contains defaults for RSpec projects. Individual projects

.travis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ cache: bundler
2323
bundler_args: "--binstubs --path ../bundle --retry=3 --jobs=3"
2424

2525
before_install:
26-
- gem update --system 2.7.8
27-
- gem install bundler
26+
- script/update_rubygems_and_install_bundler
27+
- script/downgrade_bundler_on_old_rails
2828
- script/clone_all_rspec_repos
2929

3030
before_script:

Changelog.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,19 @@
11
### Development
2-
[Full Changelog](http://github.com/rspec/rspec-rails/compare/v3.8.1...master)
2+
[Full Changelog](http://github.com/rspec/rspec-rails/compare/v3.8.2...master)
3+
4+
### 3.8.2 / 2019-01-13
5+
[Full Changelog](http://github.com/rspec/rspec-rails/compare/v3.8.1...v3.8.2)
36

47
Bug Fixes:
58

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

1018
### 3.8.1 / 2018-10-23
1119
[Full Changelog](http://github.com/rspec/rspec-rails/compare/v3.8.0...v3.8.1)

appveyor.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# This file was generated on 2018-04-03T19:49:13+10:00 from the rspec-dev repo.
1+
# This file was generated on 2019-01-03T20:34:23+00:00 from the rspec-dev repo.
22
# DO NOT modify it by hand as your changes will get lost the next time it is generated.
33

44
version: "{build}"
@@ -33,7 +33,6 @@ test_script:
3333

3434
environment:
3535
matrix:
36-
- ruby_version: 193
3736
- ruby_version: 200
3837
- ruby_version: 21
3938
- ruby_version: 22

lib/rspec/rails/example/system_example_group.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def method_name
3737
@method_name ||= [
3838
self.class.name.underscore,
3939
RSpec.current_example.description.underscore
40-
].join("_").tr(CHARS_TO_TRANSLATE.join, "_")[0...251] + "_#{rand(1000)}"
40+
].join("_").tr(CHARS_TO_TRANSLATE.join, "_")[0...200] + "_#{rand(1000)}"
4141
end
4242

4343
# Delegates to `Rails.application`.

lib/rspec/rails/matchers/active_job.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,12 @@ def matches?(proc)
197197

198198
check(in_block_jobs)
199199
end
200+
201+
def does_not_match?(proc)
202+
set_expected_number(:at_least, 1)
203+
204+
!matches?(proc)
205+
end
200206
end
201207

202208
# @private
@@ -205,6 +211,12 @@ def matches?(job)
205211
@job = job
206212
check(queue_adapter.enqueued_jobs)
207213
end
214+
215+
def does_not_match?(proc)
216+
set_expected_number(:at_least, 1)
217+
218+
!matches?(proc)
219+
end
208220
end
209221
end
210222

lib/rspec/rails/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ module Rails
33
# Version information for RSpec Rails.
44
module Version
55
# Current version of RSpec Rails, in semantic versioning format.
6-
STRING = '3.8.1'
6+
STRING = '3.8.2'
77
end
88
end
99
end

script/clone_all_rspec_repos

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/bin/bash
2-
# This file was generated on 2018-04-03T19:49:13+10:00 from the rspec-dev repo.
2+
# This file was generated on 2019-01-03T20:34:23+00:00 from the rspec-dev repo.
33
# DO NOT modify it by hand as your changes will get lost the next time it is generated.
44

55
set -e

script/downgrade_bundler_on_old_rails

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/bin/bash
2+
# This file was generated on 2019-01-03T20:34:23+00:00 from the rspec-dev repo.
3+
# DO NOT modify it by hand as your changes will get lost the next time it is generated.
4+
5+
set -e
6+
source script/functions.sh
7+
8+
if ruby -e "exit(ENV['RAILS_VERSION'].to_f < 5)"; then
9+
# On Rails versions less than 5, Bundler 2.0 is not supported
10+
echo "Warning dowgrading to older version of Bundler"
11+
gem uninstall -aIx bundler
12+
13+
# this only works on Ruby 2.3 which is luckily the version we need to fix
14+
if is_ruby_23_plus; then
15+
rvm @global do gem uninstall -aIx bundler
16+
fi
17+
18+
gem install bundler -v '1.17.3'
19+
fi

script/functions.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# This file was generated on 2018-04-03T19:49:13+10:00 from the rspec-dev repo.
1+
# This file was generated on 2019-01-03T20:34:23+00:00 from the rspec-dev repo.
22
# DO NOT modify it by hand as your changes will get lost the next time it is generated.
33

44
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

script/predicate_functions.sh

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# This file was generated on 2018-04-03T19:49:13+10:00 from the rspec-dev repo.
1+
# This file was generated on 2019-01-03T20:34:23+00:00 from the rspec-dev repo.
22
# DO NOT modify it by hand as your changes will get lost the next time it is generated.
33

44
function is_mri {
@@ -57,6 +57,14 @@ function is_mri_2plus {
5757
fi
5858
}
5959

60+
function is_ruby_23_plus {
61+
if ruby -e "exit(RUBY_VERSION.to_f >= 2.3)"; then
62+
return 0
63+
else
64+
return 1
65+
fi
66+
}
67+
6068
function rspec_support_compatible {
6169
if [ "$MAINTENANCE_BRANCH" != "2-99-maintenance" ] && [ "$MAINTENANCE_BRANCH" != "2-14-maintenance" ]; then
6270
return 0

script/run_build

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/bin/bash
2-
# This file was generated on 2018-04-03T19:49:13+10:00 from the rspec-dev repo.
2+
# This file was generated on 2019-01-03T20:34:23+00:00 from the rspec-dev repo.
33
# DO NOT modify it by hand as your changes will get lost the next time it is generated.
44

55
set -e

script/travis_functions.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# This file was generated on 2018-04-03T19:49:13+10:00 from the rspec-dev repo.
1+
# This file was generated on 2019-01-03T20:34:23+00:00 from the rspec-dev repo.
22
# DO NOT modify it by hand as your changes will get lost the next time it is generated.
33

44
# Taken from:
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/bin/bash
2+
# This file was generated on 2019-01-03T20:34:23+00:00 from the rspec-dev repo.
3+
# DO NOT modify it by hand as your changes will get lost the next time it is generated.
4+
5+
set -e
6+
source script/functions.sh
7+
8+
if is_ruby_23_plus; then
9+
gem update --system
10+
gem install bundler
11+
else
12+
echo "Warning installing older versions of Rubygems / Bundler"
13+
gem update --system '2.7.8'
14+
gem install bundler -v '1.17.3'
15+
fi

spec/rspec/rails/matchers/active_job_spec.rb

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,16 @@ def self.name; "LoggingJob"; end
122122
it "fails when negated and job is enqueued" do
123123
expect {
124124
expect { heavy_lifting_job.perform_later }.not_to have_enqueued_job
125-
}.to raise_error(/expected not to enqueue exactly 1 jobs, but enqueued 1/)
125+
}.to raise_error(/expected not to enqueue at least 1 jobs, but enqueued 1/)
126+
end
127+
128+
it "fails when negated and several jobs enqueued" do
129+
expect {
130+
expect {
131+
heavy_lifting_job.perform_later
132+
heavy_lifting_job.perform_later
133+
}.not_to have_enqueued_job
134+
}.to raise_error(/expected not to enqueue at least 1 jobs, but enqueued 2/)
126135
end
127136

128137
it "passes with job name" do
@@ -344,5 +353,13 @@ def self.name; "LoggingJob"; end
344353
expect(heavy_lifting_job).to have_been_enqueued
345354
}.to raise_error(/expected to enqueue exactly 1 jobs, but enqueued 0/)
346355
end
356+
357+
it "fails when negated and several jobs enqueued" do
358+
heavy_lifting_job.perform_later
359+
heavy_lifting_job.perform_later
360+
expect {
361+
expect(heavy_lifting_job).not_to have_been_enqueued
362+
}.to raise_error(/expected not to enqueue at least 1 jobs, but enqueued 2/)
363+
end
347364
end
348365
end

0 commit comments

Comments
 (0)