feat: add userEvent.copy
and userEvent.cut
#787
Merged
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:
Add APIs:
userEvent.copy(options)
: Copy current selectionuserEvent.cut(options)
: Copy current selection and remove from DOM if in editable contextReturn:
DataTransfer
with the copied contentsoptions
:writeToClipboard
: If set to true, writes contents to Clipboard API and returnsPromise<DataTransfer>
document
: Used instead ofglobal.document
.Why:
With these our users can test workflows with copy&paste.
How:
The implementation in #785 allowed to implement these on top of it.
Checklist:
Additional information
userEvent.setup().copy()
(andcut
) should default to using the Clipboard API.Overloading these now is not worth it, as we can change the default value for
writeToClipboardData
duringalpha
when we resolved #504.