rspec-expectations icon indicating copy to clipboard operation
rspec-expectations copied to clipboard

Add deprecation warnings for features to be removed/changed in RSpec 4

Open benoittgt opened this issue 4 years ago • 4 comments

Adds deprecation warnings for the work done on unreleased RSpec 4.

fixes #1302

  • [-] Ruby < 2.3 is no longer supported. (Phil Pirozhkov, #1230) - Will be handled by bundler
  • [x] Remove should and should_not syntax (including one-liners). (Phil Pirozhkov, Scrape out monkey patching #1245). Verbose deprecation and help migration of should for configuration and usage.
  • [x] Turn strict_predicate_matchers on by default. (Phil Pirozhkov, Turn strict_predicate_matchers on by default #1277; Marc-André Lafortune, #1196). Print a warning when a strict predicate expectation would fail.
  • [x] Remove deprecated LegacyMacherAdapter. (Phil Pirozhkov, Remove support for legacy RSpec matchers (pre 3) #1253). Previously deprecated in 3.x
  • [x] Remove support for legacy RSpec matchers (pre 3). (Phil Pirozhkov, #1253). Legacy code, previously deprecated in 3.x
  • [x] Remove include_chain_clauses_in_custom_matcher_descriptions option and make it the default. (Phil Pirozhkov, #1279). Deprecation warning when used
  • [x] Remove support for present-tense dynamic predicate. (Phil Pirozhkov, #1286). Deprecated when used
  • [x] Prevent implicit blocks (e.g blocks as values) from being used with block matchers. (Phil Pirozhkov, Restrict block matchers use with value expectations #1285). Deprecated in #1139
  • [x] Remove deprecated match_regex matcher. (Phil Pirozhkov, Remove a couple of remaining deprecations #1288).
  • [x] Remove deprecated StartAndEndWith matcher base class. (Phil Pirozhkov, Remove a couple of remaining deprecations #1288)

This is purposed to be released as version 3.99.

Sibling PRs:

  • https://github.com/rspec/rspec-mocks/pull/1418
  • https://github.com/rspec/rspec-core/pull/2880

Deprecation warnings list: https://github.com/rspec/rspec-expectations/issues/1302 Release strategy: https://github.com/rspec/rspec-core/pull/2880#issuecomment-797756681 RSpec 4 plan: https://github.com/rspec/rspec/issues/61 Changes: https://github.com/rspec/rspec-expectations/blob/4-0-dev/Changelog.md#development

benoittgt avatar Jun 01 '21 06:06 benoittgt

If we clone add-major-update-deprecation-warnings from https://github.com/rspec/rspec-core/pull/2880

We do not have the CI failure. I did a wip commit for the CI

benoittgt avatar Jun 03 '21 09:06 benoittgt

All three sibling PRs are green together.

@JonRowe, @benoittgt please have a look.

I suggest the following merge order:

  • https://github.com/rspec/rspec-core/pull/2880
  • this one
  • https://github.com/rspec/rspec-mocks/pull/1418

pirj avatar Jul 18 '21 14:07 pirj

Does it need work to make the CI green?

-- Edit: I mean. Can I help?

benoittgt avatar Nov 22 '22 10:11 benoittgt

It should become green when a corresponding rspec-core PR is merged. All three are green locally together.

pirj avatar Nov 22 '22 10:11 pirj

Curious if there is still work to do here (expect conflicts) with the planed RSpec 4 news.

benoittgt avatar Nov 29 '24 08:11 benoittgt

Yes this work will be restored with the 4.x work, I've not yet figured out if theres a better way to move PRs across to the monorepo

JonRowe avatar Nov 29 '24 08:11 JonRowe

Migrated to the monorepo

JonRowe avatar Nov 30 '24 11:11 JonRowe