Reproduction example
self contained html provided in prerequisites
Prerequisites
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title></title>
</head>
<body>
<script type="module">
import userEvent from "https://esm.sh/@testing-library/[email protected]?bundle";
const user = userEvent.setup();
class MyFoo extends HTMLElement {
static formAssociated = true;
}
customElements.define("my-foo", MyFoo);
const label = document.createElement("label");
const myFoo = document.createElement("my-foo");
label.append(myFoo);
document.body.append(label);
user.click(document.querySelector("label"));
</script>
</body>
</html>
loading this throws the following error:
isElementType.js:5 Uncaught (in promise) RangeError: Maximum call stack size exceeded
at Function.isArray (<anonymous>)
at c (isElementType.js:5:17)
at T.click (click.js:17:32)
at Object.ne (dispatchEvent.js:25:160)
at c.type (click.js:23:22)
at Object.ne (dispatchEvent.js:39:13)
at c.type (click.js:23:22)
at Object.ne (dispatchEvent.js:39:13)
at c.type (click.js:23:22)
at Object.ne (dispatchEvent.js:39:13)
Expected behavior
Should not lead to endless loop
Actual behavior
leads to endless loop
User-event version
14.5.2
Environment
nope.
Additional context
I tried debugging it a bit and found that the PR #850 in which the closest label of a click target is selected and that is supposed to break the loop - I'm not sure how?
Reproduction example
self contained html provided in prerequisites
Prerequisites
loading this throws the following error:
isElementType.js:5 Uncaught (in promise) RangeError: Maximum call stack size exceeded at Function.isArray (<anonymous>) at c (isElementType.js:5:17) at T.click (click.js:17:32) at Object.ne (dispatchEvent.js:25:160) at c.type (click.js:23:22) at Object.ne (dispatchEvent.js:39:13) at c.type (click.js:23:22) at Object.ne (dispatchEvent.js:39:13) at c.type (click.js:23:22) at Object.ne (dispatchEvent.js:39:13)Expected behavior
Should not lead to endless loop
Actual behavior
leads to endless loop
User-event version
14.5.2
Environment
nope.
Additional context
I tried debugging it a bit and found that the PR #850 in which the closest label of a click target is selected and that is supposed to break the loop - I'm not sure how?