-
-
Notifications
You must be signed in to change notification settings - Fork 763
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
Scrape out monkey patching #2803
Conversation
fd5fd1c
to
c9a5147
Compare
c9a5147
to
e9f36c5
Compare
6d0f62a
to
e9f36c5
Compare
a93a956
to
d2f201f
Compare
d2f201f
to
15a7a56
Compare
2cdc875
to
15a7a56
Compare
maintenance-branch
Outdated
remove-monkey-patching |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a need for parity? whats the Pr ordering here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Core first, then Mocks or Expectations no matter the order.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Then as this is core, this should be dropped?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rolled it back.
7e4d095
to
3069a97
Compare
3069a97
to
8dbbb8f
Compare
Build failure is expected. Expectations call the removed |
Ok, so this is evidently dependant on the others, which of the others can be merged without core? It seems like they should be able to be, but I haven't worked on it. When pinning repositories @pirj can you please explain what will fail without it? If they are all interdependant none of them can be merged until they are all ready for review. |
They are interdependent, and they are all ready for review. |
8dbbb8f
to
4af0c13
Compare
4af0c13
to
712689e
Compare
Do you suggest to send a PR to - config.disable_monkey_patching!
+ config.disable_monkey_patching! if config.respond_to?(:disable_monkey_patching!) ? |
712689e
to
e3c5c9b
Compare
Green 💚 |
http://rspec.info/blog/2013/07/the-plan-for-rspec-3/#zero_monkey_patching_mode > we do want to encourage people to switch to the new syntax, so we plan to make RSpec 3 print a warning on first usage of any the old syntax methods (should, should_not, should_receive, etc) unless the should syntax has been explicitly enabled. This should nudge folks towards the new syntax while keeping RSpec friendly to new users and will pave the way for the old syntax to be disabled by default in RSpec 4. > zero-monkey-patching mode for RSpec... We plan for these config options to become the defaults in RSpec 4.0, so that RSpec 4.0 will have zero monkey patching out of the box. As for "disabled by default" vs "completely removed" and "default, out of the box" vs "impossible" I can only say that RSpec 4 was probably planned to be released earlier, as: > we'll probably be dropping support for 1.8.7 in RSpec 4 but we've also dropped 1.9, 2.0, 2.1 and 2.2 #2301 (comment) > In RSpec 4, we plan to extract all monkey patching from RSpec and move it into a separate gem, so that monkey patching is opt-in instead of opt-out and users have to explicitly install and load a gem to get it. `rspec-should` (or `rspec-monkey` as it's also about exposing example group DSL in the top-level/Module?) will be released later. Those using the monkey-patched `should` syntax are not encouraged to update to RSpec 4 until this gem is extracted. Those using the globally-exposed DSL are encouraged to use `RSpec.describe`/`RSpec.shared_examples_for` instead.
e3c5c9b
to
c8c5356
Compare
…key-patching Scrape out monkey patching --- This commit was imported from rspec/rspec-core@832adc1.
* Remove outdated option rspec/rspec-core@0407831 * Use the non-globally exposed RSpec syntax rspec/rspec-core#2803 * Use the non-globally exposed RSpec syntax, cont rspec/rspec-core#2803 * Comply to strict predicate matchers See: - rspec/rspec-expectations#1195 - rspec/rspec-expectations#1196 - rspec/rspec-expectations#1277
Sibling PRs:
Prerequisite PRs:
Stop using globally exposed DSL rspec-rails#2420
Use globally unexposed DSL rspec-support#457
Add a check to support both RSpec 3 & 4 rspec-rails#2425
Remove temporary commit. CI is expected to fail on Core/Mocks/Support/Rails steps, as
disable_monkey_patching!
calls methods that were removed with no replacement. I'll use themaintenance-branch
temporary commit hack to fraternize those sibling PRs.http://rspec.info/blog/2013/07/the-plan-for-rspec-3/#zero_monkey_patching_mode
As for "disabled by default" vs "completely removed" and "default, out of the box" vs "impossible" I can only say that RSpec 4 was probably planned to be released earlier, as:
but we've also dropped 1.9, 2.0, 2.1 and 2.2
#2301 (comment)
rspec-should
(orrspec-monkey
as it's also about exposing example group DSL in the top-level/Module?) will be released later.Those using the monkey-patched
should
syntax are not encouraged to update to RSpec 4 until this gem is extracted.Those using the globally-exposed DSL are encouraged to use
RSpec.describe
/RSpec.shared_examples_for
instead.