fix(ngScenario): provide event parameters as object

BREAKING CHANGE: browserTrigger now uses an eventData object instead of direct parameters for mouse events.
To migrate, place the `keys`,`x` and `y` parameters inside of an object and place that as the third parameter
for the browserTrigger function.
This commit is contained in:
Matias Niemelä
2013-09-06 16:06:37 -04:00
parent 32ad292611
commit 28f56a383e
4 changed files with 471 additions and 99 deletions

View File

@@ -19,16 +19,19 @@
* not specified.
*
* @param {Object} element Either a wrapped jQuery/jqLite node or a DOMElement
* @param {string} eventType Optional event type.
* @param {Array.<string>=} keys Optional list of pressed keys
* (valid values: 'alt', 'meta', 'shift', 'ctrl')
* @param {number} x Optional x-coordinate for mouse/touch events.
* @param {number} y Optional y-coordinate for mouse/touch events.
* @param {string} eventType Optional event type
* @param {Object=} eventData An optional object which contains additional event data (such as x,y coordinates, keys, etc...) that
* are passed into the event when triggered
*/
window.browserTrigger = function browserTrigger(element, eventType, keys, x, y) {
window.browserTrigger = function browserTrigger(element, eventType, eventData) {
if (element && !element.nodeName) element = element[0];
if (!element) return;
eventData = eventData || {};
var keys = eventData.keys;
var x = eventData.x;
var y = eventData.y;
var inputType = (element.type) ? element.type.toLowerCase() : null,
nodeName = element.nodeName.toLowerCase();
@@ -86,8 +89,38 @@
}
return ret;
} else {
var evnt = document.createEvent('MouseEvents'),
originalPreventDefault = evnt.preventDefault,
var evnt;
if(/transitionend/.test(eventType)) {
if(window.WebKitTransitionEvent) {
evnt = new WebKitTransitionEvent(eventType, eventData);
evnt.initEvent(eventType, false, true);
}
else {
evnt = document.createEvent('TransitionEvent');
evnt.initTransitionEvent(eventType, null, null, null, eventData.elapsedTime);
}
}
else if(/animationend/.test(eventType)) {
if(window.WebKitAnimationEvent) {
evnt = new WebKitAnimationEvent(eventType, eventData);
evnt.initEvent(eventType, false, true);
}
else {
evnt = document.createEvent('AnimationEvent');
evnt.initAnimationEvent(eventType, null, null, null, eventData.elapsedTime);
}
}
else {
evnt = document.createEvent('MouseEvents');
x = x || 0;
y = y || 0;
evnt.initMouseEvent(eventType, true, true, window, 0, x, y, x, y, pressed('ctrl'), pressed('alt'),
pressed('shift'), pressed('meta'), 0, element);
}
if(!evnt) return;
var originalPreventDefault = evnt.preventDefault,
appWindow = element.ownerDocument.defaultView,
fakeProcessDefault = true,
finalProcessDefault,
@@ -100,11 +133,6 @@
return originalPreventDefault.apply(evnt, arguments);
};
x = x || 0;
y = y || 0;
evnt.initMouseEvent(eventType, true, true, window, 0, x, y, x, y, pressed('ctrl'), pressed('alt'),
pressed('shift'), pressed('meta'), 0, element);
element.dispatchEvent(evnt);
finalProcessDefault = !(angular['ff-684208-preventDefault'] || !fakeProcessDefault);

View File

@@ -58,10 +58,18 @@ describe('ngClick (touch)', function() {
expect($rootScope.count).toBe(0);
time = 10;
browserTrigger(element, 'touchstart', [], 10, 10);
browserTrigger(element, 'touchstart',{
keys: [],
x: 10,
y: 10
});
time = 900;
browserTrigger(element, 'touchend', [], 10, 10);
browserTrigger(element, 'touchend',{
keys: [],
x: 10,
y: 10
});
expect($rootScope.count).toBe(0);
}));
@@ -74,8 +82,16 @@ describe('ngClick (touch)', function() {
expect($rootScope.tapped).toBeUndefined();
browserTrigger(element, 'touchstart', [], 10, 10);
browserTrigger(element, 'touchend', [], 400, 400);
browserTrigger(element, 'touchstart',{
keys: [],
x: 10,
y: 10
});
browserTrigger(element, 'touchend',{
keys: [],
x: 400,
y: 400
});
expect($rootScope.tapped).toBeUndefined();
}));
@@ -88,9 +104,17 @@ describe('ngClick (touch)', function() {
expect($rootScope.tapped).toBeUndefined();
browserTrigger(element, 'touchstart', [], 10, 10);
browserTrigger(element, 'touchstart',{
keys: [],
x: 10,
y: 10
});
browserTrigger(element, 'touchmove');
browserTrigger(element, 'touchend', [], 400, 400);
browserTrigger(element, 'touchend',{
keys: [],
x: 400,
y: 400
});
expect($rootScope.tapped).toBeUndefined();
}));
@@ -104,9 +128,17 @@ describe('ngClick (touch)', function() {
var CSS_CLASS = 'ng-click-active';
expect(element.hasClass(CSS_CLASS)).toBe(false);
browserTrigger(element, 'touchstart', 10, 10);
browserTrigger(element, 'touchstart',{
keys: [],
x: 10,
y: 10
});
expect(element.hasClass(CSS_CLASS)).toBe(true);
browserTrigger(element, 'touchend', 10, 10);
browserTrigger(element, 'touchend',{
keys: [],
x: 10,
y: 10
});
expect(element.hasClass(CSS_CLASS)).toBe(false);
expect($rootScope.tapped).toBe(true);
}));
@@ -135,15 +167,27 @@ describe('ngClick (touch)', function() {
// Fire touchstart at 10ms, touchend at 50ms, the click at 300ms.
time = 10;
browserTrigger(element, 'touchstart', [], 10, 10);
browserTrigger(element, 'touchstart',{
keys: [],
x: 10,
y: 10
});
time = 50;
browserTrigger(element, 'touchend', [], 10, 10);
browserTrigger(element, 'touchend',{
keys: [],
x: 10,
y: 10
});
expect($rootScope.count).toBe(1);
time = 100;
browserTrigger(element, 'click', [], 10, 10);
browserTrigger(element, 'click',{
keys: [],
x: 10,
y: 10
});
expect($rootScope.count).toBe(1);
}));
@@ -169,15 +213,27 @@ describe('ngClick (touch)', function() {
expect($rootScope.count2).toBe(0);
time = 10;
browserTrigger(element1, 'touchstart', [], 10, 10);
browserTrigger(element1, 'touchstart',{
keys: [],
x: 10,
y: 10
});
time = 50;
browserTrigger(element1, 'touchend', [], 10, 10);
browserTrigger(element1, 'touchend',{
keys: [],
x: 10,
y: 10
});
expect($rootScope.count1).toBe(1);
time = 100;
browserTrigger(element2, 'click', [], 10, 10);
browserTrigger(element2, 'click',{
keys: [],
x: 10,
y: 10
});
expect($rootScope.count1).toBe(1);
expect($rootScope.count2).toBe(0);
@@ -203,40 +259,76 @@ describe('ngClick (touch)', function() {
expect($rootScope.count2).toBe(0);
time = 10;
browserTrigger(element1, 'touchstart', [], 10, 10);
browserTrigger(element1, 'touchstart',{
keys: [],
x: 10,
y: 10
});
time = 50;
browserTrigger(element1, 'touchend', [], 10, 10);
browserTrigger(element1, 'touchend',{
keys: [],
x: 10,
y: 10
});
expect($rootScope.count1).toBe(1);
time = 90;
// Verify that it is blured so we don't get soft-keyboard
element1[0].blur = jasmine.createSpy('blur');
browserTrigger(element1, 'click', [], 10, 10);
browserTrigger(element1, 'click',{
keys: [],
x: 10,
y: 10
});
expect(element1[0].blur).toHaveBeenCalled();
expect($rootScope.count1).toBe(1);
time = 100;
browserTrigger(element1, 'touchstart', [], 10, 10);
browserTrigger(element1, 'touchstart',{
keys: [],
x: 10,
y: 10
});
time = 130;
browserTrigger(element1, 'touchend', [], 10, 10);
browserTrigger(element1, 'touchend',{
keys: [],
x: 10,
y: 10
});
expect($rootScope.count1).toBe(2);
// Click on other element that should go through.
time = 150;
browserTrigger(element2, 'touchstart', [], 100, 120);
browserTrigger(element2, 'touchend', [], 100, 120);
browserTrigger(element2, 'click', [], 100, 120);
browserTrigger(element2, 'touchstart',{
keys: [],
x: 100,
y: 120
});
browserTrigger(element2, 'touchend',{
keys: [],
x: 100,
y: 120
});
browserTrigger(element2, 'click',{
keys: [],
x: 100,
y: 120
});
expect($rootScope.count2).toBe(1);
// Click event for the element that should be busted.
time = 200;
browserTrigger(element1, 'click', [], 10, 10);
browserTrigger(element1, 'click',{
keys: [],
x: 10,
y: 10
});
expect($rootScope.count1).toBe(2);
expect($rootScope.count2).toBe(1);
@@ -253,14 +345,26 @@ describe('ngClick (touch)', function() {
expect($rootScope.count).toBe(0);
time = 10;
browserTrigger(element1, 'touchstart', [], 10, 10);
browserTrigger(element1, 'touchstart',{
keys: [],
x: 10,
y: 10
});
time = 50;
browserTrigger(element1, 'touchend', [], 10, 10);
browserTrigger(element1, 'touchend',{
keys: [],
x: 10,
y: 10
});
expect($rootScope.count).toBe(1);
time = 2700;
browserTrigger(element1, 'click', [], 10, 10);
browserTrigger(element1, 'click',{
keys: [],
x: 10,
y: 10
});
expect($rootScope.count).toBe(2);
}));
@@ -276,15 +380,27 @@ describe('ngClick (touch)', function() {
expect($rootScope.count).toBe(0);
time = 10;
browserTrigger(element1, 'touchstart', [], 10, 10);
browserTrigger(element1, 'touchstart',{
keys: [],
x: 10,
y: 10
});
time = 50;
browserTrigger(element1, 'touchend', [], 10, 10);
browserTrigger(element1, 'touchend',{
keys: [],
x: 10,
y: 10
});
expect($rootScope.count).toBe(1);
time = 2700;
browserTrigger(element1, 'click', [], 10, 10);
browserTrigger(element1, 'click',{
keys: [],
x: 10,
y: 10
});
expect($rootScope.count).toBe(2);
}));
@@ -319,8 +435,16 @@ describe('ngClick (touch)', function() {
$rootScope.disabled = true;
$rootScope.$digest();
browserTrigger(element, 'touchstart', [], 10, 10);
browserTrigger(element, 'touchend', [], 10, 10);
browserTrigger(element, 'touchstart',{
keys: [],
x: 10,
y: 10
});
browserTrigger(element, 'touchend',{
keys: [],
x: 10,
y: 10
});
expect($rootScope.event).toBeUndefined();
}));
@@ -329,32 +453,64 @@ describe('ngClick (touch)', function() {
$rootScope.disabled = false;
$rootScope.$digest();
browserTrigger(element, 'touchstart', [], 10, 10);
browserTrigger(element, 'touchend', [], 10, 10);
browserTrigger(element, 'touchstart',{
keys: [],
x: 10,
y: 10
});
browserTrigger(element, 'touchend',{
keys: [],
x: 10,
y: 10
});
expect($rootScope.event).toBeDefined();
}));
it('should not trigger click if regular disabled is true', inject(function($rootScope, $compile) {
element = $compile('<div ng-click="event = $event" disabled="true"></div>')($rootScope);
browserTrigger(element, 'touchstart', [], 10, 10);
browserTrigger(element, 'touchend', [], 10, 10);
browserTrigger(element, 'touchstart',{
keys: [],
x: 10,
y: 10
});
browserTrigger(element, 'touchend',{
keys: [],
x: 10,
y: 10
});
expect($rootScope.event).toBeUndefined();
}));
it('should not trigger click if regular disabled is present', inject(function($rootScope, $compile) {
element = $compile('<button ng-click="event = $event" disabled ></button>')($rootScope);
browserTrigger(element, 'touchstart', [], 10, 10);
browserTrigger(element, 'touchend', [], 10, 10);
browserTrigger(element, 'touchstart',{
keys: [],
x: 10,
y: 10
});
browserTrigger(element, 'touchend',{
keys: [],
x: 10,
y: 10
});
expect($rootScope.event).toBeUndefined();
}));
it('should trigger click if regular disabled is not present', inject(function($rootScope, $compile) {
element = $compile('<div ng-click="event = $event" ></div>')($rootScope);
browserTrigger(element, 'touchstart', [], 10, 10);
browserTrigger(element, 'touchend', [], 10, 10);
browserTrigger(element, 'touchstart',{
keys: [],
x: 10,
y: 10
});
browserTrigger(element, 'touchend',{
keys: [],
x: 10,
y: 10
});
expect($rootScope.event).toBeDefined();
}));
@@ -371,8 +527,16 @@ describe('ngClick (touch)', function() {
called = true;
});
browserTrigger(element, 'touchstart', [], 10, 10);
browserTrigger(element, 'touchend', [], 10, 10);
browserTrigger(element, 'touchstart',{
keys: [],
x: 10,
y: 10
});
browserTrigger(element, 'touchend',{
keys: [],
x: 10,
y: 10
});
expect(called).toEqual(true);
}));

View File

@@ -35,8 +35,16 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
$rootScope.$digest();
expect($rootScope.swiped).toBeUndefined();
browserTrigger(element, startEvent, [], 100, 20);
browserTrigger(element, endEvent, [], 20, 20);
browserTrigger(element, startEvent, {
keys : [],
x : 100,
y : 20
});
browserTrigger(element, endEvent,{
keys: [],
x: 20,
y: 20
});
expect($rootScope.swiped).toBe(true);
}));
@@ -45,8 +53,16 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
$rootScope.$digest();
expect($rootScope.swiped).toBeUndefined();
browserTrigger(element, startEvent, [], 20, 20);
browserTrigger(element, endEvent, [], 90, 20);
browserTrigger(element, startEvent,{
keys: [],
x: 20,
y: 20
});
browserTrigger(element, endEvent,{
keys: [],
x: 90,
y: 20
});
expect($rootScope.swiped).toBe(true);
}));
@@ -57,9 +73,21 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
expect($rootScope.swiped).toBeUndefined();
browserTrigger(element, startEvent, [], 90, 20);
browserTrigger(element, moveEvent, [], 70, 200);
browserTrigger(element, endEvent, [], 20, 20);
browserTrigger(element, startEvent,{
keys: [],
x: 90,
y: 20
});
browserTrigger(element, moveEvent,{
keys: [],
x: 70,
y: 200
});
browserTrigger(element, endEvent,{
keys: [],
x: 20,
y: 20
});
expect($rootScope.swiped).toBeUndefined();
}));
@@ -71,8 +99,16 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
expect($rootScope.swiped).toBeUndefined();
browserTrigger(element, startEvent, [], 90, 20);
browserTrigger(element, endEvent, [], 80, 20);
browserTrigger(element, startEvent,{
keys: [],
x: 90,
y: 20
});
browserTrigger(element, endEvent,{
keys: [],
x: 80,
y: 20
});
expect($rootScope.swiped).toBeUndefined();
}));
@@ -84,8 +120,16 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
expect($rootScope.swiped).toBeUndefined();
browserTrigger(element, startEvent, [], 20, 20);
browserTrigger(element, moveEvent, [], 40, 20);
browserTrigger(element, startEvent,{
keys: [],
x: 20,
y: 20
});
browserTrigger(element, moveEvent,{
keys: [],
x: 40,
y: 20
});
expect($rootScope.swiped).toBeUndefined();
}));
@@ -97,8 +141,16 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
expect($rootScope.swiped).toBeUndefined();
browserTrigger(element, moveEvent, [], 10, 20);
browserTrigger(element, endEvent, [], 90, 20);
browserTrigger(element, moveEvent,{
keys: [],
x: 10,
y: 20
});
browserTrigger(element, endEvent,{
keys: [],
x: 90,
y: 20
});
expect($rootScope.swiped).toBeUndefined();
}));
@@ -114,8 +166,16 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
eventFired = true;
});
browserTrigger(element, startEvent, [], 100, 20);
browserTrigger(element, endEvent, [], 20, 20);
browserTrigger(element, startEvent,{
keys: [],
x: 100,
y: 20
});
browserTrigger(element, endEvent,{
keys: [],
x: 20,
y: 20
});
expect(eventFired).toEqual(true);
}));
@@ -130,8 +190,16 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
eventFired = true;
});
browserTrigger(element, startEvent, [], 20, 20);
browserTrigger(element, endEvent, [], 100, 20);
browserTrigger(element, startEvent,{
keys: [],
x: 20,
y: 20
});
browserTrigger(element, endEvent,{
keys: [],
x: 100,
y: 20
});
expect(eventFired).toEqual(true);
}));
});

View File

@@ -46,7 +46,11 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
expect(events.cancel).not.toHaveBeenCalled();
expect(events.end).not.toHaveBeenCalled();
browserTrigger(element, startEvent, [], 100, 20);
browserTrigger(element, startEvent,{
keys: [],
x: 100,
y: 20
});
expect(events.start).toHaveBeenCalled();
@@ -71,7 +75,11 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
expect(events.cancel).not.toHaveBeenCalled();
expect(events.end).not.toHaveBeenCalled();
browserTrigger(element, startEvent, [], 100, 20);
browserTrigger(element, startEvent,{
keys: [],
x: 100,
y: 20
});
expect(events.start).toHaveBeenCalled();
@@ -79,7 +87,11 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
expect(events.cancel).not.toHaveBeenCalled();
expect(events.end).not.toHaveBeenCalled();
browserTrigger(element, moveEvent, [], 140, 20);
browserTrigger(element, moveEvent,{
keys: [],
x: 140,
y: 20
});
expect(events.start).toHaveBeenCalled();
expect(events.move).toHaveBeenCalled();
@@ -104,7 +116,11 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
expect(events.cancel).not.toHaveBeenCalled();
expect(events.end).not.toHaveBeenCalled();
browserTrigger(element, moveEvent, [], 100, 40);
browserTrigger(element, moveEvent,{
keys: [],
x: 100,
y: 40
});
expect(events.start).not.toHaveBeenCalled();
expect(events.move).not.toHaveBeenCalled();
@@ -128,7 +144,11 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
expect(events.cancel).not.toHaveBeenCalled();
expect(events.end).not.toHaveBeenCalled();
browserTrigger(element, endEvent, [], 100, 40);
browserTrigger(element, endEvent,{
keys: [],
x: 100,
y: 40
});
expect(events.start).not.toHaveBeenCalled();
expect(events.move).not.toHaveBeenCalled();
@@ -152,7 +172,11 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
expect(events.cancel).not.toHaveBeenCalled();
expect(events.end).not.toHaveBeenCalled();
browserTrigger(element, startEvent, [], 100, 40);
browserTrigger(element, startEvent,{
keys: [],
x: 100,
y: 40
});
expect(events.start).toHaveBeenCalled();
@@ -160,13 +184,41 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
expect(events.cancel).not.toHaveBeenCalled();
expect(events.end).not.toHaveBeenCalled();
browserTrigger(element, moveEvent, [], 120, 40);
browserTrigger(element, moveEvent, [], 130, 40);
browserTrigger(element, moveEvent, [], 140, 40);
browserTrigger(element, moveEvent, [], 150, 40);
browserTrigger(element, moveEvent, [], 160, 40);
browserTrigger(element, moveEvent, [], 170, 40);
browserTrigger(element, moveEvent, [], 180, 40);
browserTrigger(element, moveEvent,{
keys: [],
x: 120,
y: 40
});
browserTrigger(element, moveEvent,{
keys: [],
x: 130,
y: 40
});
browserTrigger(element, moveEvent,{
keys: [],
x: 140,
y: 40
});
browserTrigger(element, moveEvent,{
keys: [],
x: 150,
y: 40
});
browserTrigger(element, moveEvent,{
keys: [],
x: 160,
y: 40
});
browserTrigger(element, moveEvent,{
keys: [],
x: 170,
y: 40
});
browserTrigger(element, moveEvent,{
keys: [],
x: 180,
y: 40
});
expect(events.start).toHaveBeenCalled();
expect(events.move.calls.length).toBe(7);
@@ -174,7 +226,11 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
expect(events.cancel).not.toHaveBeenCalled();
expect(events.end).not.toHaveBeenCalled();
browserTrigger(element, endEvent, [], 200, 40);
browserTrigger(element, endEvent,{
keys: [],
x: 200,
y: 40
});
expect(events.start).toHaveBeenCalled();
expect(events.move.calls.length).toBe(7);
@@ -199,7 +255,11 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
expect(events.cancel).not.toHaveBeenCalled();
expect(events.end).not.toHaveBeenCalled();
browserTrigger(element, startEvent, [], 100, 40);
browserTrigger(element, startEvent,{
keys: [],
x: 100,
y: 40
});
expect(events.start).toHaveBeenCalled();
@@ -207,11 +267,31 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
expect(events.cancel).not.toHaveBeenCalled();
expect(events.end).not.toHaveBeenCalled();
browserTrigger(element, moveEvent, [], 101, 40);
browserTrigger(element, moveEvent, [], 105, 40);
browserTrigger(element, moveEvent, [], 110, 40);
browserTrigger(element, moveEvent, [], 115, 40);
browserTrigger(element, moveEvent, [], 120, 40);
browserTrigger(element, moveEvent,{
keys: [],
x: 101,
y: 40
});
browserTrigger(element, moveEvent,{
keys: [],
x: 105,
y: 40
});
browserTrigger(element, moveEvent,{
keys: [],
x: 110,
y: 40
});
browserTrigger(element, moveEvent,{
keys: [],
x: 115,
y: 40
});
browserTrigger(element, moveEvent,{
keys: [],
x: 120,
y: 40
});
expect(events.start).toHaveBeenCalled();
expect(events.move.calls.length).toBe(3);
@@ -219,7 +299,11 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
expect(events.cancel).not.toHaveBeenCalled();
expect(events.end).not.toHaveBeenCalled();
browserTrigger(element, endEvent, [], 200, 40);
browserTrigger(element, endEvent,{
keys: [],
x: 200,
y: 40
});
expect(events.start).toHaveBeenCalled();
expect(events.move.calls.length).toBe(3);
@@ -244,7 +328,11 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
expect(events.cancel).not.toHaveBeenCalled();
expect(events.end).not.toHaveBeenCalled();
browserTrigger(element, startEvent, [], 100, 40);
browserTrigger(element, startEvent,{
keys: [],
x: 100,
y: 40
});
expect(events.start).toHaveBeenCalled();
@@ -252,11 +340,31 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
expect(events.cancel).not.toHaveBeenCalled();
expect(events.end).not.toHaveBeenCalled();
browserTrigger(element, moveEvent, [], 101, 41);
browserTrigger(element, moveEvent, [], 105, 55);
browserTrigger(element, moveEvent, [], 110, 60);
browserTrigger(element, moveEvent, [], 115, 70);
browserTrigger(element, moveEvent, [], 120, 80);
browserTrigger(element, moveEvent,{
keys: [],
x: 101,
y: 41
});
browserTrigger(element, moveEvent,{
keys: [],
x: 105,
y: 55
});
browserTrigger(element, moveEvent,{
keys: [],
x: 110,
y: 60
});
browserTrigger(element, moveEvent,{
keys: [],
x: 115,
y: 70
});
browserTrigger(element, moveEvent,{
keys: [],
x: 120,
y: 80
});
expect(events.start).toHaveBeenCalled();
expect(events.cancel).toHaveBeenCalled();
@@ -264,7 +372,11 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
expect(events.move).not.toHaveBeenCalled();
expect(events.end).not.toHaveBeenCalled();
browserTrigger(element, endEvent, [], 200, 40);
browserTrigger(element, endEvent,{
keys: [],
x: 200,
y: 40
});
expect(events.start).toHaveBeenCalled();
expect(events.cancel).toHaveBeenCalled();