123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- var el,
- hammer,
- pressPeriod = 200,
- pressThreshold = 20,
- pressCount = 0,
- panStartCount = 0,
- swipeCount = 0;
- module('Require Failure ( Swipe & Press )', {
- setup: function() {
- el = utils.createHitArea();
- hammer = new Hammer(el, {recognizers: []});
- var swipe = new Hammer.Swipe({threshold: 1});
- var press = new Hammer.Press({time: pressPeriod, threshold: pressThreshold});
- hammer.add(swipe);
- hammer.add(press);
- swipe.recognizeWith(press);
- press.requireFailure(swipe);
- pressCount = 0;
- swipeCount = 0;
- hammer.on('press', function() {
- pressCount++;
- });
- hammer.on('swipe', function() {
- swipeCount++;
- });
- },
- teardown: function() {
- hammer.destroy();
- }
- });
- asyncTest('When swipe does not recognize the gesture, a press gesture can be fired', function() {
- expect(1);
- utils.dispatchTouchEvent(el, 'start', 50, 50);
- setTimeout(function() {
- start();
- equal(pressCount, 1);
- }, pressPeriod + 100);
- });
- asyncTest('When swipe does recognize the gesture, a press gesture cannot be fired', function() {
- expect(2);
- Simulator.gestures.swipe(el, null, function() {
- start();
- ok(swipeCount > 0, 'swipe gesture should be recognizing');
- equal(pressCount, 0, 'press gesture should not be recognized because swipe gesture is recognizing');
- });
- });
- module('Require Failure ( Pan & Press )', {
- setup: function() {
- el = document.createElement('div');
- document.body.appendChild(el);
- hammer = new Hammer(el, {recognizers: []});
- var pan = new Hammer.Pan({threshold: 1});
- var press = new Hammer.Press({time: pressPeriod, threshold: pressThreshold});
- hammer.add([pan, press]);
- pan.recognizeWith(press);
- press.requireFailure(pan);
- pressCount = 0;
- panStartCount = 0;
- hammer.on('press', function() {
- pressCount++;
- });
- hammer.on('panstart', function() {
- panStartCount++;
- });
- },
- teardown: function() {
- document.body.removeChild(el);
- hammer.destroy();
- }
- });
- asyncTest('When pan does not recognize the gesture, a press gesture can be fired', function() {
- expect(1);
- utils.dispatchTouchEvent(el, 'start', 50, 50);
- setTimeout(function() {
- start();
- equal(pressCount, 1);
- }, pressPeriod + 100);
- });
- asyncTest('When pan recognizes the gesture, a press gesture cannot be fired', function() {
- expect(2);
- utils.dispatchTouchEvent(el, 'start', 50, 50);
- utils.dispatchTouchEvent(el, 'move', 50 + pressThreshold / 4, 50);
- setTimeout(function() {
- start();
- ok(panStartCount > 0, 'pan gesture should be recognizing');
- equal(pressCount, 0, 'press gesture should not be recognized because pan gesture is recognizing');
- }, pressPeriod + 100);
- });
|