feat(getNodeText): Don't join text nodes with whitespace #87
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.
What:
Changes the way
getNodeText
joins nodes. Instead of joining them with a space, it now joins them with an empty string.Why:
This PR comes out of testing-library/react-testing-library#53
In React, if you have an element like
<span>{volts}V</span>
, then the generated element will have two text nodes, one for the variablevolts
, and one for the normal string.When browsers render this, there is no space between the text nodes. Likewise, the
textContent
property on the span will return a string without spaces (e.g.300V
).However, the current implementation of
getNodeText
joins all of the nodes with a space, so if you try to use e.g.queryByText('300V')
it will returnnull
.For a live demo, see https://codesandbox.io/s/w718n5ojq7
How:
join(' ')
tojoin('')
on line 8 ofsrc/get-node-text.js
Checklist:
Thanks! 馃樃