Latest updates from IceHrmPro
This commit is contained in:
187
web/node_modules/hammerjs/tests/unit/test_hammer.js
generated
vendored
Normal file
187
web/node_modules/hammerjs/tests/unit/test_hammer.js
generated
vendored
Normal file
@@ -0,0 +1,187 @@
|
||||
var el, el2,
|
||||
hammer, hammer2;
|
||||
|
||||
module('Tests', {
|
||||
setup: function() {
|
||||
el = utils.createHitArea();
|
||||
el2 = utils.createHitArea();
|
||||
},
|
||||
|
||||
teardown: function() {
|
||||
if (hammer) {
|
||||
hammer.destroy();
|
||||
hammer = null;
|
||||
}
|
||||
if (hammer2) {
|
||||
hammer2.destroy();
|
||||
hammer2 = null;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
test('hammer shortcut', function() {
|
||||
expect(2);
|
||||
|
||||
Hammer.defaults.touchAction = 'pan-y';
|
||||
hammer = Hammer(el);
|
||||
|
||||
ok(hammer instanceof Hammer.Manager, 'returns an instance of Manager');
|
||||
ok(hammer.touchAction.actions == Hammer.defaults.touchAction, 'set the default touchAction');
|
||||
});
|
||||
|
||||
test('hammer shortcut with options', function() {
|
||||
expect(2);
|
||||
|
||||
hammer = Hammer(el, {
|
||||
touchAction: 'none'
|
||||
});
|
||||
ok(hammer instanceof Hammer.Manager, 'returns an instance of Manager');
|
||||
ok(hammer.touchAction.actions == 'none', 'set the default touchAction');
|
||||
});
|
||||
|
||||
/* Creating a hammer instance does not work on the same way
|
||||
* when using Hammer or Hammer.Manager.
|
||||
*
|
||||
* This can confuse developers who read tests to use the library when doc is missing.
|
||||
*/
|
||||
test('Hammer and Hammer.Manager constructors work exactly on the same way.', function() {
|
||||
expect(2);
|
||||
|
||||
hammer = new Hammer(el, {});
|
||||
equal(Hammer.defaults.preset.length, hammer.recognizers.length);
|
||||
|
||||
hammer2 = new Hammer.Manager(el, {});
|
||||
equal(0, hammer2.recognizers.length);
|
||||
});
|
||||
|
||||
/* DOC to disable default recognizers should be added.
|
||||
*
|
||||
* - Hammer(el). IMO: Currently, well done.
|
||||
* - Hammer(el, {}) . IMO: should disable default recognizers
|
||||
* - Hammer(el, {recognizers: null}). IMO: now, it fails.
|
||||
* - Hammer(el, {recognizers: []}). It works, but it is likely not intuitive.
|
||||
*/
|
||||
test('A Hammer instance can be setup to not having default recognizers.', function() {
|
||||
expect(1);
|
||||
|
||||
hammer = new Hammer(el, { recognizers: false });
|
||||
equal(0, hammer.recognizers.length);
|
||||
});
|
||||
|
||||
/* The case was when I added a custom tap event which was added to the default
|
||||
* recognizers, and my custom tap gesture wasn't working (I do not know exactly the reason),
|
||||
* but removing the default recognizers solved the issue.
|
||||
*/
|
||||
test('Adding the same recognizer type should remove the old recognizer', function() {
|
||||
expect(4);
|
||||
|
||||
hammer = new Hammer(el);
|
||||
|
||||
ok(!!hammer.get('tap'));
|
||||
equal(7, hammer.recognizers.length);
|
||||
|
||||
var newTap = new Hammer.Tap({time: 1337});
|
||||
hammer.add(newTap);
|
||||
|
||||
equal(7, hammer.recognizers.length);
|
||||
equal(1337, hammer.get('tap').options.time);
|
||||
});
|
||||
|
||||
/*
|
||||
* Swipe gesture:
|
||||
* - in this tests, it does not update input.velocity ( always 0)
|
||||
* - does not fire swipeleft or swiperight events
|
||||
*/
|
||||
asyncTest('Swiping to the left should fire swipeleft event', function() {
|
||||
expect(2);
|
||||
|
||||
hammer = new Hammer(el, {recognizers: []});
|
||||
hammer.add(new Hammer.Swipe());
|
||||
hammer.on('swipe swipeleft', function() {
|
||||
ok(true);
|
||||
});
|
||||
|
||||
Simulator.gestures.swipe(el, {pos: [300, 300], deltaY: 0, deltaX: -200}, function() {
|
||||
start();
|
||||
});
|
||||
});
|
||||
|
||||
/*
|
||||
* Input target change
|
||||
*/
|
||||
asyncTest('Should detect input while on other element', function() {
|
||||
expect(1);
|
||||
|
||||
hammer = new Hammer(el, { inputTarget: document.body });
|
||||
hammer.on('tap', function() {
|
||||
ok(true);
|
||||
});
|
||||
|
||||
Simulator.gestures.tap(document.body, null, function() {
|
||||
start();
|
||||
});
|
||||
});
|
||||
|
||||
/* Hammer.Manager constructor accepts a "recognizers" option in which each
|
||||
* element is an array representation of a Recognizer.
|
||||
*/
|
||||
test('Hammer.Manager accepts recognizers as arrays.', function() {
|
||||
expect(4);
|
||||
|
||||
hammer = new Hammer.Manager(el, {
|
||||
recognizers: [
|
||||
[Hammer.Swipe],
|
||||
[Hammer.Pinch],
|
||||
[Hammer.Rotate],
|
||||
[Hammer.Pan, { direction: Hammer.DIRECTION_UP }, ['swipe', 'pinch'], ['rotate']]
|
||||
]
|
||||
});
|
||||
equal(4, hammer.recognizers.length);
|
||||
|
||||
var recognizerActual = hammer.recognizers[3];
|
||||
equal(recognizerActual.options.direction, Hammer.DIRECTION_UP);
|
||||
equal(2, Object.keys(recognizerActual.simultaneous).length);
|
||||
equal(1, recognizerActual.requireFail.length);
|
||||
});
|
||||
|
||||
/*
|
||||
* Removing a recognizer which cannot be found would errantly remove the last recognizer in the
|
||||
* manager's list.
|
||||
*/
|
||||
test('Remove non-existent recognizer.', function() {
|
||||
expect(1);
|
||||
|
||||
hammer = new Hammer(el, {recognizers: []});
|
||||
hammer.add(new Hammer.Swipe());
|
||||
hammer.remove('tap');
|
||||
|
||||
equal(1, hammer.recognizers.length);
|
||||
});
|
||||
|
||||
test('check whether Hammer.defaults.cssProps is restored', function() {
|
||||
var beforeCssProps = {
|
||||
userSelect: 'text',
|
||||
touchSelect: 'grippers',
|
||||
touchCallout: 'default',
|
||||
contentZooming: 'chained',
|
||||
userDrag: 'element',
|
||||
tapHighlightColor: 'rgba(0, 1, 0, 0)'
|
||||
};
|
||||
var prop;
|
||||
Hammer.each(Hammer.defaults.cssProps, function(value, name) {
|
||||
prop = Hammer.prefixed(el.style, name);
|
||||
if (prop) {
|
||||
el.style[prop] = beforeCssProps[name];
|
||||
}
|
||||
});
|
||||
|
||||
hammer = Hammer(el);
|
||||
hammer.destroy();
|
||||
hammer = null;
|
||||
Hammer.each(Hammer.defaults.cssProps, function(value, name) {
|
||||
prop = Hammer.prefixed(el.style, name);
|
||||
if (prop) {
|
||||
equal(el.style[prop], beforeCssProps[name], "check if " + name + " is restored");
|
||||
}
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user