Skip to content

Rebase master to 4-0-dev #2159

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 95 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
e6fe572
Rename two Rubocop cops in config that break the build (#2116)
benoittgt May 1, 2019
f34c39e
RFC: versioning strategy (#1967)
May 12, 2019
f227983
Whitespace cleanup
JonRowe May 13, 2019
df5428a
Change log for #2134
JonRowe Jun 8, 2019
38ebc96
Pin webdrivers on older ruby.
JonRowe Jun 10, 2019
85643cd
Merge pull request #2138 from rspec/fix-travis-build
JonRowe Jun 11, 2019
75e66e4
README: Repair CodeClimate SVG badge
olleolleolle Jun 20, 2019
576490e
Specify trusty for TravisCI build
okuramasafumi Jul 8, 2019
b0afd35
Merge pull request #2145 from okuramasafumi/fix-ci
JonRowe Jul 8, 2019
e3171fe
Updated travis build scripts (from rspec-dev)
JonRowe Jul 8, 2019
fa122dc
Merge pull request #2146 from rspec/update-travis-build-scripts-2019-…
JonRowe Jul 8, 2019
1219895
Updated travis build scripts (from rspec-dev)
benoittgt Jul 24, 2019
2d183ce
Merge pull request #2151 from rspec/update-travis-build-scripts-2019-…
JonRowe Jul 24, 2019
f256c8f
Setup gemspec for 4.0
Jan 19, 2019
c51f41d
Gets rubocop working on modern rubocops and rubies.
Jan 19, 2019
563e9da
Remove now unsupported rubies.
Jan 19, 2019
4fff1f9
Fix cops
Jan 19, 2019
cf52754
Rails versions
Jan 19, 2019
5cb6c55
cleanup gemfile
Jan 19, 2019
e61651a
Further version checking fixes
Jan 19, 2019
d97e370
Remove old rubies
Jan 19, 2019
99624dc
Track 2.6
Jan 19, 2019
a8de85d
2.6.0 and 4.2 dont get along
Jan 19, 2019
8046fa1
Remove Ruby 2.4.4 from the Rails master matrix (#2073)
pixeltrix Jan 24, 2019
7d3f9f3
The #hash method was renamed to #data. (#2076)
Feb 3, 2019
72150fa
Gets rubocop working on modern rubocops and rubies.
Jan 19, 2019
d173c57
Remove useless empty lines
benoittgt Feb 22, 2019
75a7368
Keep using relish gem for documentation
benoittgt Feb 22, 2019
e6292db
Bump rake and let bundler decide for rubyzip and rake
benoittgt Feb 22, 2019
10e53f5
Bump redcarpet and github-markup dependencies for documentation
benoittgt Feb 22, 2019
3f9f9e5
Remove useless comment for rubocop issue
benoittgt Feb 22, 2019
c0144ba
Pin documentation gems to specific versions
benoittgt Feb 22, 2019
7c9ed29
FixtureResolver content is accessible via hash method not data
benoittgt Feb 23, 2019
cf6fd83
#hash was removed
ahorek Feb 27, 2019
409bfa2
AV::Base use empty
ahorek Feb 27, 2019
c04a310
EmptyTemplateHandler with unlimited args
ahorek Feb 27, 2019
df6a716
expand arguments
ahorek Feb 27, 2019
d0d9782
fix arity
ahorek Feb 27, 2019
d1f852e
jbuilder
ahorek Feb 27, 2019
5b17c8b
Use dynamic method definition instead of basic if/else flow
benoittgt Mar 12, 2019
b2d43ae
Fix `ActionView::Template#formats` issue in Rails 6
sebjacobs Mar 13, 2019
f7e5aa0
Changelog for Rails 6 updates.
JonRowe Mar 18, 2019
37d517b
Fix rubocop offenses for FeatureCheck and ViewRendering
benoittgt Mar 18, 2019
f11fa40
Avoid deprecation warning for missing local in ActionView::Template
benoittgt Mar 20, 2019
a276206
Prevent noisy output for example_app test with ActionView::Template
benoittgt Mar 20, 2019
5355400
Skip RescuedExceptionsVariableName cop with Rubocop (#2108)
benoittgt Apr 18, 2019
6375415
Fixes a bunch of tests against rails master
Apr 19, 2019
29b82cd
Fix active storage load in no activerecord app
Apr 19, 2019
c7dec51
Fix rails version handling for master builds
Apr 19, 2019
a0bcde3
Fix broken empty rendering cuke.
Apr 20, 2019
a400ee3
Fix various subbing in builds
Apr 20, 2019
229835b
Fix splitting
Apr 20, 2019
c691305
Fix minor and major initialization for `master`
Apr 20, 2019
fad722e
Really fix for master
Apr 20, 2019
02031d4
YOLO jruby
Apr 20, 2019
b0753db
Fix jruby
Apr 20, 2019
28c54dc
r u kidding me
Apr 20, 2019
0d5b47d
Jruby fixes
Apr 20, 2019
2f82070
more jruby fixces
Apr 20, 2019
204cec0
Jruby fixes
Apr 20, 2019
e0485f1
smoke
Apr 20, 2019
c56d09f
Stabalize rails targetting.
Apr 26, 2019
17d239b
Bump mime types to ~> 3
Apr 26, 2019
ed43400
Add Changelog and explicit jruby support for 5.2
Apr 26, 2019
adb86ea
Skip failing spec on jruby
Apr 26, 2019
d972c79
Fix jruby pins for the JDBC dependency
Apr 26, 2019
24827de
Fix travis.yml jruby configuration
Apr 26, 2019
6350298
Fix capybara pins for older rubies
Apr 26, 2019
e0122b6
Release beta1
Apr 26, 2019
854a9aa
Fix gemspec generation of deps
Apr 26, 2019
d61e505
Release 4.0.0.beta2
Apr 26, 2019
6d1212f
Jump to last Capybara version before limitation do Ruby 2.4
benoittgt May 1, 2019
124792f
Improve path parsing in _default_render_options (#2115)
jhawthorn May 1, 2019
15cfc84
Add ActionMailbox spec helpers and test type (#2119)
jamesdabbs-procore May 9, 2019
da6318b
Add documentation to new mailbox methods
jamesdabbs May 9, 2019
63fcf07
Run Travis CI on all branches
benoittgt May 5, 2019
9143a27
Fix ActionMailbox feature checks
jamesdabbs May 10, 2019
ec87f4b
address rubocop offenses: (#2126)
ignatiusreza May 14, 2019
fc3255c
allow partial args when using have_enqueued_mail
ignatiusreza May 4, 2019
6a199fd
Simplify the way we explain how to test cookies in controller
benoittgt May 13, 2019
7fdd65b
Correct grammatical issues
benoittgt May 14, 2019
63f4365
Add have_broadcasted_to matcher
palkan Apr 26, 2019
2dd2d45
Add Action Cable channels/connections example group
palkan Apr 28, 2019
bb038e5
Add channel spec generator
palkan Apr 28, 2019
158b6ad
add support for recognizing mailer many jobs:
ignatiusreza May 7, 2019
ea4a1bc
Changelog for #2125
JonRowe May 17, 2019
df4ce36
Changelog for #2119, #2113, #2125
benoittgt May 18, 2019
8333ec4
Fix extra lines, wrong indentation, too long lines
benoittgt May 18, 2019
696bd6a
add missing require to have_enqueued_mail (#2117)
ignatiusreza May 19, 2019
71b46cd
Reuse feature check methods
benoittgt May 19, 2019
767fa6d
Add missing back ticks for channel specs doc
benoittgt May 19, 2019
84c7031
use jbuilder from rubygems
ahorek May 23, 2019
170b401
Previously expected content_type has been moved to media_type method
benoittgt Jun 5, 2019
bc555c6
No need to deal with Rails 3 in a filtered feature test
benoittgt Jun 5, 2019
c731355
Create controller generator for routing specs (#1160)
Apr 21, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,30 @@ PerlBackrefs:
# We probably can refactor the backref out, but for now excluding it since
# we can't use named matches in 1.8.7
- lib/generators/rspec/scaffold/scaffold_generator.rb

Style/AccessModifierDeclarations:
Enabled: false

Naming/MemoizedInstanceVariableName:
Enabled: false

Naming/UncommunicativeMethodParamName:
Enabled: false

Metrics/PerceivedComplexity:
Enabled: false

Metrics/BlockLength:
Enabled: false

Lint/AssignmentInCondition:
Enabled: false

Lint/EmptyExpression:
Enabled: false

Layout/AlignHash:
Enabled: false

Naming/RescuedExceptionsVariableName:
Enabled: false
27 changes: 17 additions & 10 deletions .rubocop_rspec_base.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# This file was generated on 2019-04-01T20:23:57+02:00 from the rspec-dev repo.
# This file was generated on 2019-07-24T15:33:53+02: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 All @@ -22,7 +22,7 @@ CaseEquality:
Enabled: false

# Warns when the class is excessively long.
ClassLength:
Metrics/ClassLength:
Max: 100

CollectionMethods:
Expand Down Expand Up @@ -66,7 +66,7 @@ LineLength:
Max: 100

# Over time we'd like to get this down, but this is what we're at now.
MethodLength:
Metrics/MethodLength:
Max: 15

# Who cares what we call the argument for binary operator methods?
Expand Down Expand Up @@ -115,7 +115,10 @@ StringLiterals:
Style/SpecialGlobalVars:
Enabled: false

Style/TrailingCommaInLiteral:
Style/TrailingCommaInArrayLiteral:
Enabled: false

Style/TrailingCommaInHashLiteral:
Enabled: false

Style/TrailingCommaInArguments:
Expand Down Expand Up @@ -150,6 +153,9 @@ Style/EmptyMethod:
Style/FormatStringToken:
Enabled: false

Style/FrozenStringLiteralComment:
Enabled: false

Style/GuardClause:
Enabled: false

Expand All @@ -162,7 +168,10 @@ Style/IfUnlessModifier:
Style/IfUnlessModifierOfIfUnless:
Enabled: false

Style/MethodMissing:
Style/MethodMissingSuper:
Enabled: false

Style/MissingRespondToMissing:
Enabled: false

Style/MixinUsage:
Expand Down Expand Up @@ -243,11 +252,6 @@ Style/StderrPuts:
Style/TernaryParentheses:
Enabled: false

# This could likely be enabled, but it had a false positive on rspec-mocks
# (suggested change was not behaviour preserving) so I don't trust it.
Performance/HashEachMethods:
Enabled: false

Naming/HeredocDelimiterNaming:
Enabled: false

Expand Down Expand Up @@ -307,3 +311,6 @@ Style/TrailingUnderscoreVariable:

Layout/EmptyLinesAroundAccessModifier:
Enabled: false

Metrics/AbcSize:
Enabled: false
149 changes: 16 additions & 133 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,17 +32,26 @@ before_script:

script: "script/run_build 2>&1"

# In order to install old Rubies, we need to use old Ubuntu distibution.
dist: trusty

matrix:
include:
# Rails dev / 6 builds >= 2.4.4
# Rails 6 builds
- rvm: jruby-head
env:
- RAILS_VERSION=6-0-stable
- JRUBY_OPT=--dev
- rvm: 2.6.3
env: RAILS_VERSION=master
env: RAILS_VERSION=6-0-stable
- rvm: 2.5.3
env: RAILS_VERSION=master
- rvm: 2.4.4
env: RAILS_VERSION=master
env: RAILS_VERSION=6-0-stable

# Rails 5.2 builds >= 2.2.2
- rvm: jruby-head
env:
- RAILS_VERSION='~> 5.2.0'
- JRUBY_OPT=--dev
- rvm: 2.6.3
env: RAILS_VERSION='~> 5.2.0'
- rvm: 2.5.3
Expand All @@ -51,8 +60,6 @@ matrix:
env: RAILS_VERSION='~> 5.2.0'
- rvm: 2.3.7
env: RAILS_VERSION='~> 5.2.0'
- rvm: 2.2.10
env: RAILS_VERSION='~> 5.2.0'

# Rails 5.1 Builds >= 2.2.2
- rvm: 2.6.3
Expand All @@ -63,8 +70,6 @@ matrix:
env: RAILS_VERSION='~> 5.1.0'
- rvm: 2.3.7
env: RAILS_VERSION='~> 5.1.0'
- rvm: 2.2.10
env: RAILS_VERSION='~> 5.1.0'

# Rails 5.0 Builds >= 2.2.2
- rvm: 2.6.3
Expand All @@ -75,10 +80,10 @@ matrix:
env: RAILS_VERSION='~> 5.0.0'
- rvm: 2.3.7
env: RAILS_VERSION='~> 5.0.0'
- rvm: 2.2.10
env: RAILS_VERSION='~> 5.0.0'

# Rails 4.2 Builds >= 1.9.3
- rvm: 2.5.3
env: RAILS_VERSION='~> 4.2.0'
- rvm: 2.4.4
env: RAILS_VERSION='~> 4.2.0'
- rvm: 2.4.4
Expand All @@ -87,127 +92,5 @@ matrix:
env: RAILS_VERSION='~> 4.2.0'
- rvm: 2.3.7
env: RAILS_VERSION=4-2-stable
- rvm: 2.2.10
env: RAILS_VERSION='~> 4.2.0'
- rvm: 2.2.10
env: RAILS_VERSION=4-2-stable
- rvm: 2.1.10
env: RAILS_VERSION='~> 4.2.0'
- rvm: 2.1.10
env: RAILS_VERSION=4-2-stable
- rvm: 2.0.0
env: RAILS_VERSION='~> 4.2.0'
- rvm: 2.0.0
env: RAILS_VERSION=4-2-stable
- rvm: 1.9.3
env: RAILS_VERSION='~> 4.2.0'
- rvm: 1.9.3
env: RAILS_VERSION=4-2-stable

# Rails 4.1 Builds >= 1.9.3, < 2.4
- rvm: 2.3.7
env: RAILS_VERSION='~> 4.1.0'
- rvm: 2.3.7
env: RAILS_VERSION=4-1-stable
- rvm: 2.2.10
env: RAILS_VERSION='~> 4.1.0'
- rvm: 2.2.10
env: RAILS_VERSION=4-1-stable
- rvm: 2.1.10
env: RAILS_VERSION='~> 4.1.0'
- rvm: 2.1.10
env: RAILS_VERSION=4-1-stable
- rvm: 2.0.0
env: RAILS_VERSION='~> 4.1.0'
- rvm: 2.0.0
env: RAILS_VERSION=4-1-stable
- rvm: 1.9.3
env: RAILS_VERSION='~> 4.1.0'
- rvm: 1.9.3
env: RAILS_VERSION=4-1-stable

# Rails 4.0 Builds >= 1.8.11, < 2.4
- rvm: 2.3.7
env: RAILS_VERSION='~> 4.0.4'
- rvm: 2.3.7
env: RAILS_VERSION=4-0-stable
- rvm: 2.2.10
env: RAILS_VERSION='~> 4.0.4'
- rvm: 2.2.10
env: RAILS_VERSION=4-0-stable
- rvm: 2.1.10
env: RAILS_VERSION='~> 4.0.4'
- rvm: 2.1.10
env: RAILS_VERSION=4-0-stable
- rvm: 2.0.0
env: RAILS_VERSION='~> 4.0.4'
- rvm: 2.0.0
env: RAILS_VERSION=4-0-stable
- rvm: 1.9.3
env: RAILS_VERSION='~> 4.0.4'
- rvm: 1.9.3
env: RAILS_VERSION=4-0-stable

# Rails 3.2 Builds < 2.4
- rvm: 2.3.7
env: RAILS_VERSION='~> 3.2.17'
- rvm: 2.3.7
env: RAILS_VERSION=3-2-stable
- rvm: 2.2.10
env: RAILS_VERSION='~> 3.2.17'
- rvm: 2.2.10
env: RAILS_VERSION=3-2-stable
- rvm: 2.1.10
env: RAILS_VERSION='~> 3.2.17'
- rvm: 2.1.10
env: RAILS_VERSION=3-2-stable
- rvm: 2.0.0
env: RAILS_VERSION='~> 3.2.17'
- rvm: 2.0.0
env: RAILS_VERSION=3-2-stable
- rvm: 1.9.3
env: RAILS_VERSION='~> 3.2.17'
- rvm: 1.9.3
env: RAILS_VERSION=3-2-stable
- rvm: 1.9.2
env: RAILS_VERSION='~> 3.2.17'
- rvm: 1.9.2
env: RAILS_VERSION=3-2-stable
- rvm: 1.8.7
env: RAILS_VERSION='~> 3.2.17'
- rvm: 1.8.7
env: RAILS_VERSION=3-2-stable

# Rails 3.1 Builds, < 2.2
- rvm: 2.1.10
env: RAILS_VERSION='~> 3.1.12'
- rvm: 2.0.0
env: RAILS_VERSION='~> 3.1.12'
- rvm: 1.9.3
env: RAILS_VERSION='~> 3.1.12'
- rvm: 1.9.2
env: RAILS_VERSION='~> 3.1.12'
- rvm: 1.8.7
env: RAILS_VERSION='~> 3.1.12'

# Rails 3.0 Builds, < 2
- rvm: 1.9.3
env: RAILS_VERSION='~> 3.0.20'
- rvm: 1.9.2
env: RAILS_VERSION='~> 3.0.20'
- rvm: 1.8.7
env: RAILS_VERSION='~> 3.0.20'

allow_failures:
- rvm: 2.6.3
env: RAILS_VERSION=master
- rvm: 2.5.3
env: RAILS_VERSION=master
- rvm: 2.4.4
env: RAILS_VERSION=master
fast_finish: true

branches:
only:
- master
- /^\d+-\d+-maintenance$/
18 changes: 18 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,21 @@ immediately. These are good ones to tackle to help us actively fix bugs.
Maintenance branches are how we manage the different supported point releases
of RSpec. As such, while they might look like good candidates to merge into
master, please do not open pull requests to merge them.

## How do the cukes work?

The cucumber features for RSpec rails document how it works, but are also quasi
executable tests for the framework. They execute in the context of a pre-setup
Rails app.

1. Before the cucumber specs run, the directory `tmp/aruba` is cleared
2. If the example app hasn't already been created,
`bundle exec rake generate:app generate:stuff` is executed.
3. The example app is copied in to `tmp/aruba`
4. Everything in `tmp/aruba/spec/*` is deleted apart from `spec/spec_helper.rb` and
`spec/rails_helper.rb`
5. the cucumber suite executes, creating files in that app and executing them

The best way to debug the app is to run a failing cucumber feature, which will
leave the test files intact in `tmp/aruba`, then you can cd in to that director
and run it in the bundle context of the aruba app.
27 changes: 27 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,29 @@
### 4.0 Development
[Full Changelog](http://github.com/rspec/rspec-rails/compare/master...4-0-dev)

Enhancements:

* Adds support for JRuby on Rails 5.2 and 6
* Add support for parameterised mailers (Ignatius Reza, #2125)
* Add ActionMailbox spec helpers and test type (James Dabbs, #2119)
* Add ActionCable spec helpers and test type (Vladimir Dementyev, #2113)
* Add support for partial args when using `have_enqueued_mail`
(Ignatius Reza, #2125)

Bug Fixes:

* `EmptyTemplateHandler.call` now needs to support an additional argument in
Rails 6. (Pavel Rosický, #2089)
* Suppress warning from `SQLite3Adapter.represent_boolean_as_integer` which is
deprecated. (Pavel Rosický, #2092)
* `ActionView::Template#formats` has been deprecated and replaced by
`ActionView::Template#format`(Seb Jacobs, #2100)

Breaking Changes:

* Drops support for Rails below 5.0
* Drops support for Ruby below 2.3

### Development
[Full Changelog](http://github.com/rspec/rspec-rails/compare/v3.8.2...master)

Expand All @@ -19,6 +45,7 @@ Enhancements
making it easier to match on `ActiveJob` delivered emails. (Joel Lubrano, #2047)
* Add generator for system specs on Rails 5.1 and above. (Andrzej Sliwa, #1933)
* Add generator for generator specs. (@ConSou, #2085)
* Add option to generate routes when generating controller specs. (David Revelo, #2134)

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