File "bind.test.ts"
Full path: /home/fsibplc/public_html/sommilito-bank2/splide-4.1.3/src/js/constructors/EventBinder/test/bind.test.ts
File
size: 2.06 B (2.06 KB bytes)
MIME-type: text/x-java
Charset: utf-8
Download Open Edit Advanced Editor Back
import { fire } from '../../../test';
import { EventBinder } from '../EventBinder';
describe( 'EventBinder#bind()', () => {
const div = document.createElement( 'div' );
test( 'can listen to native events.', () => {
const { bind } = EventBinder();
const callback1 = jest.fn();
const callback2 = jest.fn();
bind( window, 'resize', callback1 );
bind( div, 'click', callback2 );
fire( window, 'resize' );
fire( div, 'click' );
expect( callback1 ).toHaveBeenCalledTimes( 1 );
expect( callback2 ).toHaveBeenCalledTimes( 1 );
} );
test( 'can accept multiple events separated by spaces.', () => {
const { bind } = EventBinder();
const callback = jest.fn();
bind( div, 'load resize click', callback );
fire( div, 'resize' );
expect( callback ).toHaveBeenCalledTimes( 1 );
fire( div, 'click' );
expect( callback ).toHaveBeenCalledTimes( 2 );
} );
test( 'can accept multiple events as an array.', () => {
const { bind } = EventBinder();
const callback = jest.fn();
bind( div, [ 'load', 'resize', 'click' ], callback );
fire( div, 'resize' );
expect( callback ).toHaveBeenCalledTimes( 1 );
fire( div, 'click' );
expect( callback ).toHaveBeenCalledTimes( 2 );
} );
test( 'can accept multiple events by spaces and an array.', () => {
const { bind } = EventBinder();
const callback = jest.fn();
bind( div, [ 'load resize click', 'scroll', 'wheel' ], callback );
fire( div, 'resize' );
expect( callback ).toHaveBeenCalledTimes( 1 );
fire( div, 'click' );
expect( callback ).toHaveBeenCalledTimes( 2 );
fire( div, 'scroll' );
expect( callback ).toHaveBeenCalledTimes( 3 );
} );
test( 'can accept a namespace by a dot notation.', () => {
const { bind } = EventBinder();
const callback = jest.fn();
bind( div, [ 'load.namespace', 'resize.namespace', 'click.namespace' ], callback );
fire( div, 'resize' );
expect( callback ).toHaveBeenCalledTimes( 1 );
fire( div, 'click' );
expect( callback ).toHaveBeenCalledTimes( 2 );
} );
} );