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

fix(pretty-format): only call hasAttribute if function #11000

Merged
merged 2 commits into from Jan 6, 2021
Merged

fix(pretty-format): only call hasAttribute if function #11000

merged 2 commits into from Jan 6, 2021

Conversation

simonhaenisch
Copy link
Contributor

Summary

See ionic-team/stencil#2789.

Stencil.js uses Jest under the hood for testing, and I ran into an issue where pretty-format throws an error because Stencil passes a MockCSSStyleDeclaration object which is proxied and returns an empty string for all unknown properties.

pretty-format assumes that if the given object has a hasAttribute property, that it's a function and just tries calling it, which fails in this case because the value of val.hasAttribute is '' in this case. I know this is an edge case which is why I've suggested a fix on Stencil's side as well. However I thought it doesn't hurt to make this code more robust here as well.

@facebook-github-bot
Copy link
Contributor

Hi @simonhaenisch!

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file.

In order for us to review and merge your code, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA.

If you have received this in error or have any questions, please contact us at cla@fb.com. Thanks!

@facebook-github-bot
Copy link
Contributor

Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Facebook open source project. Thanks!

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.

Thanks! cleaner than the optional chain anyways 👍

@SimenB SimenB merged commit 931d466 into jestjs:master Jan 6, 2021
@simonhaenisch simonhaenisch deleted the patch-1 branch January 6, 2021 12:52
@graup
Copy link

graup commented Apr 22, 2021

Hi @SimenB , this seems like a regression introduced in 26.2.0 (10375b3), reported in #10566

I wonder if it's worth back-porting this fix to a 26.x bugfix release.

@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 23, 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.

None yet

4 participants