testing-library / user-event

🐕 Simulate user events
https://testing-library.com/user-event
MIT License
2.19k stars 249 forks source link

userEvent.paste is case-sensitive #1179

Open DiFuks opened 1 year ago

DiFuks commented 1 year ago

Reproduction example

https://codesandbox.io/s/pensive-morning-5fttk8?file=/src/App.js

Prerequisites

  1. Render element
  2. add on paste listener with event.clipboardData?.getData('Text')
  3. call userEvent.paste('hello')

Expected behavior

event.clipboardData?.getData('Text') returned hello

Actual behavior

event.clipboardData?.getData('Text') returned undefined

User-event version

14.5.1

Environment

No response

Additional context

I noticed an issue with userEvent.paste in the following case.

Nevertheless, in the browser, such code works. After examining the Chromium source code, I confirmed this. Chrome intentionally converts the data type name to lowercase. It seems more appropriate to implement similar logic on the userEvent side.

DiFuks commented 1 year ago

I submitted a pull request that addresses this issue.