ember-native-dom-helpers
Version:
Test helpers for your integration tests that fire native events
24 lines (22 loc) • 756 B
JavaScript
import { run } from '@ember/runloop';
import getElementWithAssert from './-private/get-element-with-assert';
import { fireEvent } from './fire-event';
import { clickEventSequence } from './click';
import { wait } from './-private/compatibility';
/*
@method tap
@param {String|HTMLElement} selector
@param {Object} options
@return {RSVP.Promise}
@public
*/
export function tap(selector, options = {}) {
let el = getElementWithAssert(selector);
let touchstartEv, touchendEv;
run(() => touchstartEv = fireEvent(el, 'touchstart', options));
run(() => touchendEv = fireEvent(el, 'touchend', options));
if (!touchstartEv.defaultPrevented && !touchendEv.defaultPrevented) {
clickEventSequence(el);
}
return (window.wait || wait)();
}