Skip to content

click, auxclick and contextmenu events don't support PointerEvent properties #1339

Open
@JoshTumath

Description

@JoshTumath
  • @testing-library/dom version: 9.3.4
  • Testing Framework and version: Jest 29.7.0
  • DOM Environment: jsdom 24.0.0

Relevant code or config:

To simulate a pointer click, I might want to provide properties from the PointerEvent interface, such as:

// When simulating a mouse pointer input
fireEvent.click(button, {
  pointerId: 123,
  pointerType: 'mouse'
});

// When simulating a keyboard input
fireEvent.click(button, {
  pointerId: -1,
  pointerType: ''
});

What you did:

I tried to simulate a pointerId property in a click event.

What happened:

The Jest code coverage reported that the if statement in my event handler

Reproduction:

I haven't done one in case the problem is obvious, but I am happy to create one if asked.

Problem description:

All browsers now treat a click event as a type of PointerEvent, not a MouseEvent. However, the @testing-library still treats them as MouseEvent types, so when I want to use properties like pointerId in tests, they get ignored.

Suggested solution:

Change auxclick, click and contextmenu events to PointerEvent types.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions