-
Notifications
You must be signed in to change notification settings - Fork 668
feat: support object class binding in stubbed functional components #1476
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
feat: support object class binding in stubbed functional components #1476
Conversation
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.
Looks good to me! Well done @lmiller1990 👍
// see https://github.com/vuejs/vue-test-utils/issues/1474 for more context. | ||
if (typeof dynamicClass === 'object') { | ||
evaluatedDynamicClass = Object.keys(dynamicClass).reduce((acc, key) => { | ||
if (dynamicClass[key] === true) { |
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.
Should we check if this is a truthy value or like this, straight up true?
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.
Not sure, I just went with this to be explicit. I haven't seen people use something like :class={ 'my-class': 'some-truthy-val' }
. I guess we should just copy whatever Vue does - will try it out.
} | ||
return staticClass || dynamicClass | ||
return staticClass || evaluatedDynamicClass |
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.
Wouldnt have pushing all to an array and using join(' ')
at the end been a more cleaner way of doing this?
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.
I think both are fine - was having problems iterating over Object.keys
, using of
throws some warning. A few other places in the codebase do Object.keys().reduce
so I just tried to follow that same style.
I like reduce
but I don't mind either way.
gg |
What's the release process please? |
fixes #1474