Skip to content
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

Change expect.not.objectContaining() to match documentation #10708

Merged
merged 3 commits into from
Nov 5, 2020

Conversation

ninevra
Copy link
Contributor

@ninevra ninevra commented Oct 26, 2020

Summary

Fixes #10186 by changing expect.not.objectContaining() to simply invert the result of expect.objectContaining().

By semver this is a patch-level change, but I agree with jeysal that it would be prudent to treat this as a breaking change anyway, just in case someone's relying on the previous behavior.

Test plan

Revised existing tests which asserted undocumented behavior and added several new test cases.

@ninevra ninevra changed the title Change expect().not.objectContaining() to match documentation Change expect.not.objectContaining() to match documentation Oct 26, 2020
@jeysal jeysal requested a review from SimenB October 26, 2020 10:54
@ninevra ninevra force-pushed the not-object-containing branch from 89bb9bf to a6e5cb6 Compare October 26, 2020 22:33
@ninevra
Copy link
Contributor Author

ninevra commented Oct 26, 2020

Rebased on 92f74cd to incorporate #10711. CI failed on v15.x on macOS with a timeout - not sure if this is related, and in either case I lack a macOS machine for testing.

@SimenB
Copy link
Member

SimenB commented Oct 26, 2020

Nah, don't worry about that - mac CI something just decides to not work

Copy link
Member

@SimenB SimenB left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@SimenB
Copy link
Member

SimenB commented Nov 4, 2020

Since we reverted #10508, which parts of this should stay or go? My brain is currently mush, so I was unable to decipher it 😛

@jeysal
Copy link
Contributor

jeysal commented Nov 4, 2020

I think it just needs a rebase that applies the let result = ... return this.inverse ? ... to the current code

Asserts that ObjectNotContaining matches values which do not contain
_all_ of the sample's properties.

Asserts that ObjectNotContaining matches iff ObjectContaining does not
match.
@ninevra ninevra force-pushed the not-object-containing branch from a6e5cb6 to 708e68e Compare November 4, 2020 22:33
@ninevra
Copy link
Contributor Author

ninevra commented Nov 4, 2020

Rebased on master (2fa34c4). Moved one test case which relied on the now-reverted recursive behavior.

@jeysal jeysal merged commit c732ed9 into jestjs:master Nov 5, 2020
@jeysal jeysal added this to the Jest 27 milestone Nov 5, 2020
jeysal added a commit to mmkal/jest that referenced this pull request Nov 8, 2020
* master: (398 commits)
  chore(breaking): remove undocumented `enabledTestsMap` config (jestjs#10787)
  Change expect.not.objectContaining() to match documentation (jestjs#10708)
  chore: add name to root project (jestjs#10782)
  Added explanation on how to use custom @jest-environment to docs (jestjs#10783)
  fix: remove deprecated functions from the jest object (jestjs#9853)
  chore: convert jest-runtime to ESM (jestjs#10325)
  fix(resolve): use escalade to find package.json (jestjs#10781)
  feat(jest-runner): set exit code to 1 if test logs after teardown (jestjs#10728)
  chore: add `exports` field to all `package.json`s (jestjs#9921)
  fix: do not inject `global` variable into module wrapper (jestjs#10644)
  chore: migrate jest-resolve to ESM (jestjs#10688)
  chore(transform): refactor API to pass an options bag around rather than multiple boolean options (jestjs#10753)
  chore: default to node test env rather than browser (jestjs#9874)
  fix: drop support for node 13 (jestjs#10685)
  chore: show enhanced syntax error for all syntax errors (jestjs#10749)
  chore: update lockfile after publish
  v26.6.3
  chore: update changelog for release
  Don't throw an error if mock dependency can't be found (jestjs#10779)
  chore: bump babel core types (jestjs#10772)
  ...
@github-actions
Copy link

This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Please note this issue tracker is not a help forum. We recommend using StackOverflow or our discord channel for questions.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 11, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

expect.not.objectContaining() does not match documentation
4 participants