mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-05-22 05:11:51 +00:00
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:
parent
32ad292611
commit
28f56a383e
4 changed files with 471 additions and 99 deletions
|
|
@ -19,16 +19,19 @@
|
||||||
* not specified.
|
* not specified.
|
||||||
*
|
*
|
||||||
* @param {Object} element Either a wrapped jQuery/jqLite node or a DOMElement
|
* @param {Object} element Either a wrapped jQuery/jqLite node or a DOMElement
|
||||||
* @param {string} eventType Optional event type.
|
* @param {string} eventType Optional event type
|
||||||
* @param {Array.<string>=} keys Optional list of pressed keys
|
* @param {Object=} eventData An optional object which contains additional event data (such as x,y coordinates, keys, etc...) that
|
||||||
* (valid values: 'alt', 'meta', 'shift', 'ctrl')
|
* are passed into the event when triggered
|
||||||
* @param {number} x Optional x-coordinate for mouse/touch events.
|
|
||||||
* @param {number} y Optional y-coordinate for mouse/touch events.
|
|
||||||
*/
|
*/
|
||||||
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 && !element.nodeName) element = element[0];
|
||||||
if (!element) return;
|
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,
|
var inputType = (element.type) ? element.type.toLowerCase() : null,
|
||||||
nodeName = element.nodeName.toLowerCase();
|
nodeName = element.nodeName.toLowerCase();
|
||||||
|
|
||||||
|
|
@ -86,8 +89,38 @@
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
} else {
|
} else {
|
||||||
var evnt = document.createEvent('MouseEvents'),
|
var evnt;
|
||||||
originalPreventDefault = evnt.preventDefault,
|
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,
|
appWindow = element.ownerDocument.defaultView,
|
||||||
fakeProcessDefault = true,
|
fakeProcessDefault = true,
|
||||||
finalProcessDefault,
|
finalProcessDefault,
|
||||||
|
|
@ -100,11 +133,6 @@
|
||||||
return originalPreventDefault.apply(evnt, arguments);
|
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);
|
element.dispatchEvent(evnt);
|
||||||
finalProcessDefault = !(angular['ff-684208-preventDefault'] || !fakeProcessDefault);
|
finalProcessDefault = !(angular['ff-684208-preventDefault'] || !fakeProcessDefault);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -58,10 +58,18 @@ describe('ngClick (touch)', function() {
|
||||||
expect($rootScope.count).toBe(0);
|
expect($rootScope.count).toBe(0);
|
||||||
|
|
||||||
time = 10;
|
time = 10;
|
||||||
browserTrigger(element, 'touchstart', [], 10, 10);
|
browserTrigger(element, 'touchstart',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
|
||||||
time = 900;
|
time = 900;
|
||||||
browserTrigger(element, 'touchend', [], 10, 10);
|
browserTrigger(element, 'touchend',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
|
||||||
expect($rootScope.count).toBe(0);
|
expect($rootScope.count).toBe(0);
|
||||||
}));
|
}));
|
||||||
|
|
@ -74,8 +82,16 @@ describe('ngClick (touch)', function() {
|
||||||
|
|
||||||
expect($rootScope.tapped).toBeUndefined();
|
expect($rootScope.tapped).toBeUndefined();
|
||||||
|
|
||||||
browserTrigger(element, 'touchstart', [], 10, 10);
|
browserTrigger(element, 'touchstart',{
|
||||||
browserTrigger(element, 'touchend', [], 400, 400);
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
browserTrigger(element, 'touchend',{
|
||||||
|
keys: [],
|
||||||
|
x: 400,
|
||||||
|
y: 400
|
||||||
|
});
|
||||||
|
|
||||||
expect($rootScope.tapped).toBeUndefined();
|
expect($rootScope.tapped).toBeUndefined();
|
||||||
}));
|
}));
|
||||||
|
|
@ -88,9 +104,17 @@ describe('ngClick (touch)', function() {
|
||||||
|
|
||||||
expect($rootScope.tapped).toBeUndefined();
|
expect($rootScope.tapped).toBeUndefined();
|
||||||
|
|
||||||
browserTrigger(element, 'touchstart', [], 10, 10);
|
browserTrigger(element, 'touchstart',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
browserTrigger(element, 'touchmove');
|
browserTrigger(element, 'touchmove');
|
||||||
browserTrigger(element, 'touchend', [], 400, 400);
|
browserTrigger(element, 'touchend',{
|
||||||
|
keys: [],
|
||||||
|
x: 400,
|
||||||
|
y: 400
|
||||||
|
});
|
||||||
|
|
||||||
expect($rootScope.tapped).toBeUndefined();
|
expect($rootScope.tapped).toBeUndefined();
|
||||||
}));
|
}));
|
||||||
|
|
@ -104,9 +128,17 @@ describe('ngClick (touch)', function() {
|
||||||
var CSS_CLASS = 'ng-click-active';
|
var CSS_CLASS = 'ng-click-active';
|
||||||
|
|
||||||
expect(element.hasClass(CSS_CLASS)).toBe(false);
|
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);
|
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(element.hasClass(CSS_CLASS)).toBe(false);
|
||||||
expect($rootScope.tapped).toBe(true);
|
expect($rootScope.tapped).toBe(true);
|
||||||
}));
|
}));
|
||||||
|
|
@ -135,15 +167,27 @@ describe('ngClick (touch)', function() {
|
||||||
|
|
||||||
// Fire touchstart at 10ms, touchend at 50ms, the click at 300ms.
|
// Fire touchstart at 10ms, touchend at 50ms, the click at 300ms.
|
||||||
time = 10;
|
time = 10;
|
||||||
browserTrigger(element, 'touchstart', [], 10, 10);
|
browserTrigger(element, 'touchstart',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
|
||||||
time = 50;
|
time = 50;
|
||||||
browserTrigger(element, 'touchend', [], 10, 10);
|
browserTrigger(element, 'touchend',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
|
||||||
expect($rootScope.count).toBe(1);
|
expect($rootScope.count).toBe(1);
|
||||||
|
|
||||||
time = 100;
|
time = 100;
|
||||||
browserTrigger(element, 'click', [], 10, 10);
|
browserTrigger(element, 'click',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
|
||||||
expect($rootScope.count).toBe(1);
|
expect($rootScope.count).toBe(1);
|
||||||
}));
|
}));
|
||||||
|
|
@ -169,15 +213,27 @@ describe('ngClick (touch)', function() {
|
||||||
expect($rootScope.count2).toBe(0);
|
expect($rootScope.count2).toBe(0);
|
||||||
|
|
||||||
time = 10;
|
time = 10;
|
||||||
browserTrigger(element1, 'touchstart', [], 10, 10);
|
browserTrigger(element1, 'touchstart',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
|
||||||
time = 50;
|
time = 50;
|
||||||
browserTrigger(element1, 'touchend', [], 10, 10);
|
browserTrigger(element1, 'touchend',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
|
||||||
expect($rootScope.count1).toBe(1);
|
expect($rootScope.count1).toBe(1);
|
||||||
|
|
||||||
time = 100;
|
time = 100;
|
||||||
browserTrigger(element2, 'click', [], 10, 10);
|
browserTrigger(element2, 'click',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
|
||||||
expect($rootScope.count1).toBe(1);
|
expect($rootScope.count1).toBe(1);
|
||||||
expect($rootScope.count2).toBe(0);
|
expect($rootScope.count2).toBe(0);
|
||||||
|
|
@ -203,40 +259,76 @@ describe('ngClick (touch)', function() {
|
||||||
expect($rootScope.count2).toBe(0);
|
expect($rootScope.count2).toBe(0);
|
||||||
|
|
||||||
time = 10;
|
time = 10;
|
||||||
browserTrigger(element1, 'touchstart', [], 10, 10);
|
browserTrigger(element1, 'touchstart',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
|
||||||
time = 50;
|
time = 50;
|
||||||
browserTrigger(element1, 'touchend', [], 10, 10);
|
browserTrigger(element1, 'touchend',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
|
||||||
expect($rootScope.count1).toBe(1);
|
expect($rootScope.count1).toBe(1);
|
||||||
|
|
||||||
time = 90;
|
time = 90;
|
||||||
// Verify that it is blured so we don't get soft-keyboard
|
// Verify that it is blured so we don't get soft-keyboard
|
||||||
element1[0].blur = jasmine.createSpy('blur');
|
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(element1[0].blur).toHaveBeenCalled();
|
||||||
|
|
||||||
expect($rootScope.count1).toBe(1);
|
expect($rootScope.count1).toBe(1);
|
||||||
|
|
||||||
time = 100;
|
time = 100;
|
||||||
browserTrigger(element1, 'touchstart', [], 10, 10);
|
browserTrigger(element1, 'touchstart',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
|
||||||
time = 130;
|
time = 130;
|
||||||
browserTrigger(element1, 'touchend', [], 10, 10);
|
browserTrigger(element1, 'touchend',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
|
||||||
expect($rootScope.count1).toBe(2);
|
expect($rootScope.count1).toBe(2);
|
||||||
|
|
||||||
// Click on other element that should go through.
|
// Click on other element that should go through.
|
||||||
time = 150;
|
time = 150;
|
||||||
browserTrigger(element2, 'touchstart', [], 100, 120);
|
browserTrigger(element2, 'touchstart',{
|
||||||
browserTrigger(element2, 'touchend', [], 100, 120);
|
keys: [],
|
||||||
browserTrigger(element2, 'click', [], 100, 120);
|
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);
|
expect($rootScope.count2).toBe(1);
|
||||||
|
|
||||||
// Click event for the element that should be busted.
|
// Click event for the element that should be busted.
|
||||||
time = 200;
|
time = 200;
|
||||||
browserTrigger(element1, 'click', [], 10, 10);
|
browserTrigger(element1, 'click',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
|
||||||
expect($rootScope.count1).toBe(2);
|
expect($rootScope.count1).toBe(2);
|
||||||
expect($rootScope.count2).toBe(1);
|
expect($rootScope.count2).toBe(1);
|
||||||
|
|
@ -253,14 +345,26 @@ describe('ngClick (touch)', function() {
|
||||||
expect($rootScope.count).toBe(0);
|
expect($rootScope.count).toBe(0);
|
||||||
|
|
||||||
time = 10;
|
time = 10;
|
||||||
browserTrigger(element1, 'touchstart', [], 10, 10);
|
browserTrigger(element1, 'touchstart',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
|
||||||
time = 50;
|
time = 50;
|
||||||
browserTrigger(element1, 'touchend', [], 10, 10);
|
browserTrigger(element1, 'touchend',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
expect($rootScope.count).toBe(1);
|
expect($rootScope.count).toBe(1);
|
||||||
|
|
||||||
time = 2700;
|
time = 2700;
|
||||||
browserTrigger(element1, 'click', [], 10, 10);
|
browserTrigger(element1, 'click',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
|
||||||
expect($rootScope.count).toBe(2);
|
expect($rootScope.count).toBe(2);
|
||||||
}));
|
}));
|
||||||
|
|
@ -276,15 +380,27 @@ describe('ngClick (touch)', function() {
|
||||||
expect($rootScope.count).toBe(0);
|
expect($rootScope.count).toBe(0);
|
||||||
|
|
||||||
time = 10;
|
time = 10;
|
||||||
browserTrigger(element1, 'touchstart', [], 10, 10);
|
browserTrigger(element1, 'touchstart',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
|
||||||
time = 50;
|
time = 50;
|
||||||
browserTrigger(element1, 'touchend', [], 10, 10);
|
browserTrigger(element1, 'touchend',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
|
||||||
expect($rootScope.count).toBe(1);
|
expect($rootScope.count).toBe(1);
|
||||||
|
|
||||||
time = 2700;
|
time = 2700;
|
||||||
browserTrigger(element1, 'click', [], 10, 10);
|
browserTrigger(element1, 'click',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
|
||||||
expect($rootScope.count).toBe(2);
|
expect($rootScope.count).toBe(2);
|
||||||
}));
|
}));
|
||||||
|
|
@ -319,8 +435,16 @@ describe('ngClick (touch)', function() {
|
||||||
$rootScope.disabled = true;
|
$rootScope.disabled = true;
|
||||||
$rootScope.$digest();
|
$rootScope.$digest();
|
||||||
|
|
||||||
browserTrigger(element, 'touchstart', [], 10, 10);
|
browserTrigger(element, 'touchstart',{
|
||||||
browserTrigger(element, 'touchend', [], 10, 10);
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
browserTrigger(element, 'touchend',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
|
||||||
expect($rootScope.event).toBeUndefined();
|
expect($rootScope.event).toBeUndefined();
|
||||||
}));
|
}));
|
||||||
|
|
@ -329,32 +453,64 @@ describe('ngClick (touch)', function() {
|
||||||
$rootScope.disabled = false;
|
$rootScope.disabled = false;
|
||||||
$rootScope.$digest();
|
$rootScope.$digest();
|
||||||
|
|
||||||
browserTrigger(element, 'touchstart', [], 10, 10);
|
browserTrigger(element, 'touchstart',{
|
||||||
browserTrigger(element, 'touchend', [], 10, 10);
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
browserTrigger(element, 'touchend',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
|
||||||
expect($rootScope.event).toBeDefined();
|
expect($rootScope.event).toBeDefined();
|
||||||
}));
|
}));
|
||||||
it('should not trigger click if regular disabled is true', inject(function($rootScope, $compile) {
|
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);
|
element = $compile('<div ng-click="event = $event" disabled="true"></div>')($rootScope);
|
||||||
|
|
||||||
browserTrigger(element, 'touchstart', [], 10, 10);
|
browserTrigger(element, 'touchstart',{
|
||||||
browserTrigger(element, 'touchend', [], 10, 10);
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
browserTrigger(element, 'touchend',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
|
||||||
expect($rootScope.event).toBeUndefined();
|
expect($rootScope.event).toBeUndefined();
|
||||||
}));
|
}));
|
||||||
it('should not trigger click if regular disabled is present', inject(function($rootScope, $compile) {
|
it('should not trigger click if regular disabled is present', inject(function($rootScope, $compile) {
|
||||||
element = $compile('<button ng-click="event = $event" disabled ></button>')($rootScope);
|
element = $compile('<button ng-click="event = $event" disabled ></button>')($rootScope);
|
||||||
|
|
||||||
browserTrigger(element, 'touchstart', [], 10, 10);
|
browserTrigger(element, 'touchstart',{
|
||||||
browserTrigger(element, 'touchend', [], 10, 10);
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
browserTrigger(element, 'touchend',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
|
||||||
expect($rootScope.event).toBeUndefined();
|
expect($rootScope.event).toBeUndefined();
|
||||||
}));
|
}));
|
||||||
it('should trigger click if regular disabled is not present', inject(function($rootScope, $compile) {
|
it('should trigger click if regular disabled is not present', inject(function($rootScope, $compile) {
|
||||||
element = $compile('<div ng-click="event = $event" ></div>')($rootScope);
|
element = $compile('<div ng-click="event = $event" ></div>')($rootScope);
|
||||||
|
|
||||||
browserTrigger(element, 'touchstart', [], 10, 10);
|
browserTrigger(element, 'touchstart',{
|
||||||
browserTrigger(element, 'touchend', [], 10, 10);
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
browserTrigger(element, 'touchend',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
|
||||||
expect($rootScope.event).toBeDefined();
|
expect($rootScope.event).toBeDefined();
|
||||||
}));
|
}));
|
||||||
|
|
@ -371,8 +527,16 @@ describe('ngClick (touch)', function() {
|
||||||
called = true;
|
called = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
browserTrigger(element, 'touchstart', [], 10, 10);
|
browserTrigger(element, 'touchstart',{
|
||||||
browserTrigger(element, 'touchend', [], 10, 10);
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
browserTrigger(element, 'touchend',{
|
||||||
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 10
|
||||||
|
});
|
||||||
|
|
||||||
expect(called).toEqual(true);
|
expect(called).toEqual(true);
|
||||||
}));
|
}));
|
||||||
|
|
|
||||||
|
|
@ -35,8 +35,16 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
|
||||||
$rootScope.$digest();
|
$rootScope.$digest();
|
||||||
expect($rootScope.swiped).toBeUndefined();
|
expect($rootScope.swiped).toBeUndefined();
|
||||||
|
|
||||||
browserTrigger(element, startEvent, [], 100, 20);
|
browserTrigger(element, startEvent, {
|
||||||
browserTrigger(element, endEvent, [], 20, 20);
|
keys : [],
|
||||||
|
x : 100,
|
||||||
|
y : 20
|
||||||
|
});
|
||||||
|
browserTrigger(element, endEvent,{
|
||||||
|
keys: [],
|
||||||
|
x: 20,
|
||||||
|
y: 20
|
||||||
|
});
|
||||||
expect($rootScope.swiped).toBe(true);
|
expect($rootScope.swiped).toBe(true);
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|
@ -45,8 +53,16 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
|
||||||
$rootScope.$digest();
|
$rootScope.$digest();
|
||||||
expect($rootScope.swiped).toBeUndefined();
|
expect($rootScope.swiped).toBeUndefined();
|
||||||
|
|
||||||
browserTrigger(element, startEvent, [], 20, 20);
|
browserTrigger(element, startEvent,{
|
||||||
browserTrigger(element, endEvent, [], 90, 20);
|
keys: [],
|
||||||
|
x: 20,
|
||||||
|
y: 20
|
||||||
|
});
|
||||||
|
browserTrigger(element, endEvent,{
|
||||||
|
keys: [],
|
||||||
|
x: 90,
|
||||||
|
y: 20
|
||||||
|
});
|
||||||
expect($rootScope.swiped).toBe(true);
|
expect($rootScope.swiped).toBe(true);
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|
@ -57,9 +73,21 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
|
||||||
|
|
||||||
expect($rootScope.swiped).toBeUndefined();
|
expect($rootScope.swiped).toBeUndefined();
|
||||||
|
|
||||||
browserTrigger(element, startEvent, [], 90, 20);
|
browserTrigger(element, startEvent,{
|
||||||
browserTrigger(element, moveEvent, [], 70, 200);
|
keys: [],
|
||||||
browserTrigger(element, endEvent, [], 20, 20);
|
x: 90,
|
||||||
|
y: 20
|
||||||
|
});
|
||||||
|
browserTrigger(element, moveEvent,{
|
||||||
|
keys: [],
|
||||||
|
x: 70,
|
||||||
|
y: 200
|
||||||
|
});
|
||||||
|
browserTrigger(element, endEvent,{
|
||||||
|
keys: [],
|
||||||
|
x: 20,
|
||||||
|
y: 20
|
||||||
|
});
|
||||||
|
|
||||||
expect($rootScope.swiped).toBeUndefined();
|
expect($rootScope.swiped).toBeUndefined();
|
||||||
}));
|
}));
|
||||||
|
|
@ -71,8 +99,16 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
|
||||||
|
|
||||||
expect($rootScope.swiped).toBeUndefined();
|
expect($rootScope.swiped).toBeUndefined();
|
||||||
|
|
||||||
browserTrigger(element, startEvent, [], 90, 20);
|
browserTrigger(element, startEvent,{
|
||||||
browserTrigger(element, endEvent, [], 80, 20);
|
keys: [],
|
||||||
|
x: 90,
|
||||||
|
y: 20
|
||||||
|
});
|
||||||
|
browserTrigger(element, endEvent,{
|
||||||
|
keys: [],
|
||||||
|
x: 80,
|
||||||
|
y: 20
|
||||||
|
});
|
||||||
|
|
||||||
expect($rootScope.swiped).toBeUndefined();
|
expect($rootScope.swiped).toBeUndefined();
|
||||||
}));
|
}));
|
||||||
|
|
@ -84,8 +120,16 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
|
||||||
|
|
||||||
expect($rootScope.swiped).toBeUndefined();
|
expect($rootScope.swiped).toBeUndefined();
|
||||||
|
|
||||||
browserTrigger(element, startEvent, [], 20, 20);
|
browserTrigger(element, startEvent,{
|
||||||
browserTrigger(element, moveEvent, [], 40, 20);
|
keys: [],
|
||||||
|
x: 20,
|
||||||
|
y: 20
|
||||||
|
});
|
||||||
|
browserTrigger(element, moveEvent,{
|
||||||
|
keys: [],
|
||||||
|
x: 40,
|
||||||
|
y: 20
|
||||||
|
});
|
||||||
|
|
||||||
expect($rootScope.swiped).toBeUndefined();
|
expect($rootScope.swiped).toBeUndefined();
|
||||||
}));
|
}));
|
||||||
|
|
@ -97,8 +141,16 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
|
||||||
|
|
||||||
expect($rootScope.swiped).toBeUndefined();
|
expect($rootScope.swiped).toBeUndefined();
|
||||||
|
|
||||||
browserTrigger(element, moveEvent, [], 10, 20);
|
browserTrigger(element, moveEvent,{
|
||||||
browserTrigger(element, endEvent, [], 90, 20);
|
keys: [],
|
||||||
|
x: 10,
|
||||||
|
y: 20
|
||||||
|
});
|
||||||
|
browserTrigger(element, endEvent,{
|
||||||
|
keys: [],
|
||||||
|
x: 90,
|
||||||
|
y: 20
|
||||||
|
});
|
||||||
|
|
||||||
expect($rootScope.swiped).toBeUndefined();
|
expect($rootScope.swiped).toBeUndefined();
|
||||||
}));
|
}));
|
||||||
|
|
@ -114,8 +166,16 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
|
||||||
eventFired = true;
|
eventFired = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
browserTrigger(element, startEvent, [], 100, 20);
|
browserTrigger(element, startEvent,{
|
||||||
browserTrigger(element, endEvent, [], 20, 20);
|
keys: [],
|
||||||
|
x: 100,
|
||||||
|
y: 20
|
||||||
|
});
|
||||||
|
browserTrigger(element, endEvent,{
|
||||||
|
keys: [],
|
||||||
|
x: 20,
|
||||||
|
y: 20
|
||||||
|
});
|
||||||
expect(eventFired).toEqual(true);
|
expect(eventFired).toEqual(true);
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|
@ -130,8 +190,16 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
|
||||||
eventFired = true;
|
eventFired = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
browserTrigger(element, startEvent, [], 20, 20);
|
browserTrigger(element, startEvent,{
|
||||||
browserTrigger(element, endEvent, [], 100, 20);
|
keys: [],
|
||||||
|
x: 20,
|
||||||
|
y: 20
|
||||||
|
});
|
||||||
|
browserTrigger(element, endEvent,{
|
||||||
|
keys: [],
|
||||||
|
x: 100,
|
||||||
|
y: 20
|
||||||
|
});
|
||||||
expect(eventFired).toEqual(true);
|
expect(eventFired).toEqual(true);
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,11 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
|
||||||
expect(events.cancel).not.toHaveBeenCalled();
|
expect(events.cancel).not.toHaveBeenCalled();
|
||||||
expect(events.end).not.toHaveBeenCalled();
|
expect(events.end).not.toHaveBeenCalled();
|
||||||
|
|
||||||
browserTrigger(element, startEvent, [], 100, 20);
|
browserTrigger(element, startEvent,{
|
||||||
|
keys: [],
|
||||||
|
x: 100,
|
||||||
|
y: 20
|
||||||
|
});
|
||||||
|
|
||||||
expect(events.start).toHaveBeenCalled();
|
expect(events.start).toHaveBeenCalled();
|
||||||
|
|
||||||
|
|
@ -71,7 +75,11 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
|
||||||
expect(events.cancel).not.toHaveBeenCalled();
|
expect(events.cancel).not.toHaveBeenCalled();
|
||||||
expect(events.end).not.toHaveBeenCalled();
|
expect(events.end).not.toHaveBeenCalled();
|
||||||
|
|
||||||
browserTrigger(element, startEvent, [], 100, 20);
|
browserTrigger(element, startEvent,{
|
||||||
|
keys: [],
|
||||||
|
x: 100,
|
||||||
|
y: 20
|
||||||
|
});
|
||||||
|
|
||||||
expect(events.start).toHaveBeenCalled();
|
expect(events.start).toHaveBeenCalled();
|
||||||
|
|
||||||
|
|
@ -79,7 +87,11 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
|
||||||
expect(events.cancel).not.toHaveBeenCalled();
|
expect(events.cancel).not.toHaveBeenCalled();
|
||||||
expect(events.end).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.start).toHaveBeenCalled();
|
||||||
expect(events.move).toHaveBeenCalled();
|
expect(events.move).toHaveBeenCalled();
|
||||||
|
|
@ -104,7 +116,11 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
|
||||||
expect(events.cancel).not.toHaveBeenCalled();
|
expect(events.cancel).not.toHaveBeenCalled();
|
||||||
expect(events.end).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.start).not.toHaveBeenCalled();
|
||||||
expect(events.move).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.cancel).not.toHaveBeenCalled();
|
||||||
expect(events.end).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.start).not.toHaveBeenCalled();
|
||||||
expect(events.move).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.cancel).not.toHaveBeenCalled();
|
||||||
expect(events.end).not.toHaveBeenCalled();
|
expect(events.end).not.toHaveBeenCalled();
|
||||||
|
|
||||||
browserTrigger(element, startEvent, [], 100, 40);
|
browserTrigger(element, startEvent,{
|
||||||
|
keys: [],
|
||||||
|
x: 100,
|
||||||
|
y: 40
|
||||||
|
});
|
||||||
|
|
||||||
expect(events.start).toHaveBeenCalled();
|
expect(events.start).toHaveBeenCalled();
|
||||||
|
|
||||||
|
|
@ -160,13 +184,41 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
|
||||||
expect(events.cancel).not.toHaveBeenCalled();
|
expect(events.cancel).not.toHaveBeenCalled();
|
||||||
expect(events.end).not.toHaveBeenCalled();
|
expect(events.end).not.toHaveBeenCalled();
|
||||||
|
|
||||||
browserTrigger(element, moveEvent, [], 120, 40);
|
browserTrigger(element, moveEvent,{
|
||||||
browserTrigger(element, moveEvent, [], 130, 40);
|
keys: [],
|
||||||
browserTrigger(element, moveEvent, [], 140, 40);
|
x: 120,
|
||||||
browserTrigger(element, moveEvent, [], 150, 40);
|
y: 40
|
||||||
browserTrigger(element, moveEvent, [], 160, 40);
|
});
|
||||||
browserTrigger(element, moveEvent, [], 170, 40);
|
browserTrigger(element, moveEvent,{
|
||||||
browserTrigger(element, moveEvent, [], 180, 40);
|
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.start).toHaveBeenCalled();
|
||||||
expect(events.move.calls.length).toBe(7);
|
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.cancel).not.toHaveBeenCalled();
|
||||||
expect(events.end).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.start).toHaveBeenCalled();
|
||||||
expect(events.move.calls.length).toBe(7);
|
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.cancel).not.toHaveBeenCalled();
|
||||||
expect(events.end).not.toHaveBeenCalled();
|
expect(events.end).not.toHaveBeenCalled();
|
||||||
|
|
||||||
browserTrigger(element, startEvent, [], 100, 40);
|
browserTrigger(element, startEvent,{
|
||||||
|
keys: [],
|
||||||
|
x: 100,
|
||||||
|
y: 40
|
||||||
|
});
|
||||||
|
|
||||||
expect(events.start).toHaveBeenCalled();
|
expect(events.start).toHaveBeenCalled();
|
||||||
|
|
||||||
|
|
@ -207,11 +267,31 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
|
||||||
expect(events.cancel).not.toHaveBeenCalled();
|
expect(events.cancel).not.toHaveBeenCalled();
|
||||||
expect(events.end).not.toHaveBeenCalled();
|
expect(events.end).not.toHaveBeenCalled();
|
||||||
|
|
||||||
browserTrigger(element, moveEvent, [], 101, 40);
|
browserTrigger(element, moveEvent,{
|
||||||
browserTrigger(element, moveEvent, [], 105, 40);
|
keys: [],
|
||||||
browserTrigger(element, moveEvent, [], 110, 40);
|
x: 101,
|
||||||
browserTrigger(element, moveEvent, [], 115, 40);
|
y: 40
|
||||||
browserTrigger(element, moveEvent, [], 120, 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.start).toHaveBeenCalled();
|
||||||
expect(events.move.calls.length).toBe(3);
|
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.cancel).not.toHaveBeenCalled();
|
||||||
expect(events.end).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.start).toHaveBeenCalled();
|
||||||
expect(events.move.calls.length).toBe(3);
|
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.cancel).not.toHaveBeenCalled();
|
||||||
expect(events.end).not.toHaveBeenCalled();
|
expect(events.end).not.toHaveBeenCalled();
|
||||||
|
|
||||||
browserTrigger(element, startEvent, [], 100, 40);
|
browserTrigger(element, startEvent,{
|
||||||
|
keys: [],
|
||||||
|
x: 100,
|
||||||
|
y: 40
|
||||||
|
});
|
||||||
|
|
||||||
expect(events.start).toHaveBeenCalled();
|
expect(events.start).toHaveBeenCalled();
|
||||||
|
|
||||||
|
|
@ -252,11 +340,31 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
|
||||||
expect(events.cancel).not.toHaveBeenCalled();
|
expect(events.cancel).not.toHaveBeenCalled();
|
||||||
expect(events.end).not.toHaveBeenCalled();
|
expect(events.end).not.toHaveBeenCalled();
|
||||||
|
|
||||||
browserTrigger(element, moveEvent, [], 101, 41);
|
browserTrigger(element, moveEvent,{
|
||||||
browserTrigger(element, moveEvent, [], 105, 55);
|
keys: [],
|
||||||
browserTrigger(element, moveEvent, [], 110, 60);
|
x: 101,
|
||||||
browserTrigger(element, moveEvent, [], 115, 70);
|
y: 41
|
||||||
browserTrigger(element, moveEvent, [], 120, 80);
|
});
|
||||||
|
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.start).toHaveBeenCalled();
|
||||||
expect(events.cancel).toHaveBeenCalled();
|
expect(events.cancel).toHaveBeenCalled();
|
||||||
|
|
@ -264,7 +372,11 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent,
|
||||||
expect(events.move).not.toHaveBeenCalled();
|
expect(events.move).not.toHaveBeenCalled();
|
||||||
expect(events.end).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.start).toHaveBeenCalled();
|
||||||
expect(events.cancel).toHaveBeenCalled();
|
expect(events.cancel).toHaveBeenCalled();
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue