Ensure components for react-native pass testID #3365
Merged
+13
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When developing for react native, components are sometimes marked with
the
testID
prop. This prop is functionally similar to thedata-testid
attached for react web components.Unfortunately, styled components for react native didn't pass this prop
down, making it difficult for react native test frameworks like Detox to
test.
This change fixes that so when a
testID
prop is specified for a styledcomponent for react-native, it is passed down to the corresponding
native component it represents.
NOTE: Since this only affects
react-native
, it ONLY makes a change toStyledNativeComponent
NOTE2: I was hoping to use this change in the next minor version (
5.3.0
) which is why I branched offlegacy-v5
. Hopefully that's alright.For context:
testID
by.id
Matcher that utilizestestID
byTestId