-
Notifications
You must be signed in to change notification settings - Fork 41
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
Add support for component data-test-* attributes without values #57
Add support for component data-test-* attributes without values #57
Conversation
This adds support for `{{my-component data-test-foo}}`. Basically, this adds a handlebars transform that converts the previous example to `{{my-component data-test-foo=true}}`.
for Ember 1.13 compat
@@ -0,0 +1,42 @@ | |||
/* eslint-env node */ | |||
var TEST_SELECTOR_PREFIX = /data-test-.*/; |
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.
Can we import this from elsewhere so we don't have to define it at several locations? We also might want to make it configurable in the future.
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.
yes, but I'd like to do that in a separate PR since we already have quite a bit of duplication around that regex
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.
👍
@@ -9,3 +9,5 @@ | |||
<div class="test5">{{data-test-component data-test="foo"}}</div> | |||
|
|||
<div class="test6">{{data-test-component data-non-test="foo"}}</div> | |||
|
|||
<div class="test7">{{data-test-component data-test-without-value}}</div> |
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.
We should have a test for the block form as well:
<div class="test8">{{#data-test-component data-test-without-value}}{{/data-test-component}}</div>
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.
done
@@ -9,3 +9,5 @@ | |||
<div class="test5">{{data-test-component data-test="foo"}}</div> | |||
|
|||
<div class="test6">{{data-test-component data-non-test="foo"}}</div> | |||
|
|||
<div class="test7">{{data-test-component data-test-without-value}}</div> |
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.
Would a test case for {{component data-test}}
similar to .test5
we have now be helpful?
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.
done
@@ -0,0 +1,42 @@ | |||
/* eslint-env node */ | |||
var TEST_SELECTOR_PREFIX = /data-test-.*/; |
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.
We have such a regex already in addon/utils/bind-data-test-attributes.js
. I think it makes sense to refactor this into a shared function like isTestSelector
. Would that make sense?
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 guess the problem is that one uses ES6 modules and the other CommonJS, so reducing duplication there might not be quite as easy
This PR is essentially #55 with a small change that restores Ember 1.13 compatibility.