flick-tests.js revision 36a12c876bd2c62f9fc142989f37118f93efb8a3
1633838b8255282d10af15c5c84cee5a51466712Bob HalleyYUI.add('flick-tests', function(Y) {
5dee04703805e9453ff4d8d77884391e3a185977Bob Halley
1633838b8255282d10af15c5c84cee5a51466712Bob Halley var eventData = {
1633838b8255282d10af15c5c84cee5a51466712Bob Halley flick: Y.Node.DOM_EVENTS.flick.eventDef,
1633838b8255282d10af15c5c84cee5a51466712Bob Halley },
1633838b8255282d10af15c5c84cee5a51466712Bob Halley Assert = Y.Assert,
1633838b8255282d10af15c5c84cee5a51466712Bob Halley noop = function() { },
1633838b8255282d10af15c5c84cee5a51466712Bob Halley CE = {
1633838b8255282d10af15c5c84cee5a51466712Bob Halley fire: noop
1633838b8255282d10af15c5c84cee5a51466712Bob Halley },
1633838b8255282d10af15c5c84cee5a51466712Bob Halley node = Y.one('#tester'),
1633838b8255282d10af15c5c84cee5a51466712Bob Halley event = {
1633838b8255282d10af15c5c84cee5a51466712Bob Halley target: node,
1633838b8255282d10af15c5c84cee5a51466712Bob Halley currentTarget: node,
1633838b8255282d10af15c5c84cee5a51466712Bob Halley touches: [
1633838b8255282d10af15c5c84cee5a51466712Bob Halley {
c50fd34a4e0e6978f8ca5f6f3ad8545549c3cfeeBob Halley pageX: 100,
c50fd34a4e0e6978f8ca5f6f3ad8545549c3cfeeBob Halley pageY: 100,
c50fd34a4e0e6978f8ca5f6f3ad8545549c3cfeeBob Halley clientX: 100,
c50fd34a4e0e6978f8ca5f6f3ad8545549c3cfeeBob Halley clientY: 100,
904a5734375869ffb504ed8cde6b68cafadb6d64Bob Halley screenX: 100,
e4e071ae12aee942fefc2c0a3280e402938669deBob Halley screenY: 100
e4e071ae12aee942fefc2c0a3280e402938669deBob Halley }
904a5734375869ffb504ed8cde6b68cafadb6d64Bob Halley ]
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley },
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley suite = new Y.Test.Suite('Flick Event Suite');
904a5734375869ffb504ed8cde6b68cafadb6d64Bob Halley
904a5734375869ffb504ed8cde6b68cafadb6d64Bob Halley console.log(eventData);
e4e071ae12aee942fefc2c0a3280e402938669deBob Halley
c50fd34a4e0e6978f8ca5f6f3ad8545549c3cfeeBob Halley suite.add(new Y.Test.Case({
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley name: 'flick',
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley setUp: function() {
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley this.handles = [];
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington this.handles.push(node.on('flick', noop));
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington this.handles.push(node.delegate('flick', noop));
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington },
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington tearDown: function() {
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington Y.Array.each(this.handles, function(h) {
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington h.detach();
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington });
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington },
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington 'test: _onStart()': function() {
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington eventData.flick._onStart(event,node, {
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington _extra: {
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley minTime: 5,
c50fd34a4e0e6978f8ca5f6f3ad8545549c3cfeeBob Halley minDistance: 5
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley }
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley }, {
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley fire: function(e) {
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington Assert.areSame(event.target, e.target);
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington Assert.areSame('flick', e.type);
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington Assert.areEqual(1, e.button);
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington }
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington });
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington },
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington 'test: _onMove()': function() {
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington var sub = { '_fs': { flick: { } } };
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington eventData.flick._onMove(event,node, sub);
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington Assert.isTrue((sub['_fs'].flick.time > 0));
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington },
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington 'test: _onEnd()': function() {
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington var en = event;
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington en.changedTouches = en.touches;
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley en.touches = [];
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington eventData.flick._onEnd(en,node, {
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington _fs: {
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington flick: {
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington time: ((new Date().getTime()) - 3000)
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington },
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington pageX: 5,
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington pageY: 5,
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington detach: noop
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington },
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington _fmh: {
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington detach: noop
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington },
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington _extra: {
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington axis: 'x',
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington minTime: 1,
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington minDistance: 0,
125d72976ab6b8fa6629a5ace276a86e9fef91acBrian Wellington minVelocity: 0,
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley preventDefault: noop
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley }
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley }, {
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley fire: function(e) {
308c7ad5f68301d19f023af616f62f3e7cbce632Andreas Gustafsson Assert.areSame('flick', e.type);
04b8111f2137a9cf9b0b71228f76b3e40ffa1173Brian Wellington Assert.isObject(e.flick);
04b8111f2137a9cf9b0b71228f76b3e40ffa1173Brian Wellington Assert.areSame('x', e.flick.axis);
ccad3c9ecbe8a1060ff7b407a318ccd592de536eBrian Wellington Assert.areSame(95, e.flick.distance);
ccad3c9ecbe8a1060ff7b407a318ccd592de536eBrian Wellington Assert.isTrue((e.flick.time >- 3000));
ccad3c9ecbe8a1060ff7b407a318ccd592de536eBrian Wellington Assert.areSame(0.03166666666666667, e.flick.velocity);
ccad3c9ecbe8a1060ff7b407a318ccd592de536eBrian Wellington Assert.areSame(0, e.touches.length);
ccad3c9ecbe8a1060ff7b407a318ccd592de536eBrian Wellington Assert.areSame(1, e.changedTouches.length);
8224be5129daebea8f0f5e8be5f925679ec893f1Brian Wellington Assert.areSame(node, e.target);
8224be5129daebea8f0f5e8be5f925679ec893f1Brian Wellington Assert.areSame(node, e.currentTarget);
a413f94248ceed48a6b7aaa2fa1d2401fb8b9f30Brian Wellington }
d14b749789121d9d502fa1348e9e73270e9b039fBob Halley });
63d1ef9e771b748ca9bf241dfc1f07d3730203faBob Halley }
659175b7d430afe13b439e499442a964e2c9110fMark Andrews }));
cd02757774252fe5b92dbd59a24b34721fb49ff4Bob Halley
cd02757774252fe5b92dbd59a24b34721fb49ff4Bob Halley
7b4dcbb89b71b17f5c16ca19a0e705e09509f063Bob Halley
73af6575e00f8cf4942abce177f435797b9cfe41Brian Wellington Y.Test.Runner.add(suite);
322b0fb39dd1538c9f5021cd2f54d4c12684ecdbBrian Wellington
3864eb0e9a73148ac744893b5367169761184db5Mark Andrews});
25e43e68b7431d5e4ff8b5427108cd7f5f9bcf3eBob Halley