Files
coopgo/node_modules/consolidated-events/__tests__/normalizeEventOptions-test.js
sgauthier 6e64e138e2
All checks were successful
Publish To Prod / deploy_and_publish (push) Successful in 35s
planning
2024-10-14 09:15:30 +02:00

53 lines
1.6 KiB
JavaScript

/* eslint-disable import/first */
jest.mock('../src/canUsePassiveEventListeners');
import canUsePassiveEventListeners from '../src/canUsePassiveEventListeners';
import normalizeEventOptions from '../src/normalizeEventOptions';
it('is undefined when event options are undefined', () => {
expect(normalizeEventOptions(undefined)).toBe(undefined);
});
it('is undefined when event options are null', () => {
expect(normalizeEventOptions(null)).toBe(undefined);
});
it('is undefined when event options are false', () => {
expect(normalizeEventOptions(false)).toBe(undefined);
});
describe('when able to use passive event listeners', () => {
beforeEach(() => {
canUsePassiveEventListeners.mockImplementation(() => true);
});
it('passes the eventOptions object through', () => {
expect(normalizeEventOptions({ passive: true }))
.toEqual({ passive: true });
expect(normalizeEventOptions({ capture: true }))
.toEqual({ capture: true });
expect(normalizeEventOptions({ capture: true, passive: true }))
.toEqual({ capture: true, passive: true });
});
});
describe('when not able to use passive event listeners', () => {
beforeEach(() => {
canUsePassiveEventListeners.mockImplementation(() => false);
});
it('is true when the capture option is on', () => {
expect(normalizeEventOptions({ capture: true })).toBe(true);
});
it('is false when the capture option is off', () => {
expect(normalizeEventOptions({ capture: false })).toBe(false);
});
it('is false when the capture option is missing', () => {
expect(normalizeEventOptions({ passive: true })).toBe(false);
});
});