UNPKG

831 BJavaScriptView Raw
1/**
2 * Setup a mock hammer.js object, for unit testing.
3 *
4 * Inspiration: https://github.com/uber/deck.gl/pull/658
5 *
6 * @returns {{on: noop, off: noop, destroy: noop, emit: noop, get: get}}
7 */
8function hammerMock() {
9 const noop = () => {};
10
11 return {
12 on: noop,
13 off: noop,
14 destroy: noop,
15 emit: noop,
16
17 get: function(m) { //eslint-disable-line no-unused-vars
18 return {
19 set: noop
20 };
21 }
22 };
23}
24
25
26if (typeof window !== 'undefined') {
27 var propagating = require('propagating-hammerjs');
28 var Hammer = window['Hammer'] || require('hammerjs');
29 module.exports = propagating(Hammer, {
30 preventDefault: 'mouse'
31 });
32}
33else {
34 module.exports = function () {
35 // hammer.js is only available in a browser, not in node.js. Replacing it with a mock object.
36 return hammerMock();
37 }
38}