All checks were successful
Publish To Prod / deploy_and_publish (push) Successful in 35s
53 lines
1.6 KiB
JavaScript
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);
|
|
});
|
|
});
|