touch-tests.js revision c50298e7ad9076694bfccf1ff3d0b340f601e9b4
e07b61c6681ab2ac1c89566f694ef33606a63364Dav GlassYUI.add('touch-tests', function(Y) {
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass var suite = new Y.Test.Suite('Touch Event'),
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass Assert = Y.Assert,
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass noop = function() {},
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass node = Y.one('#tester');
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass suite.add(new Y.Test.Case({
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass name: 'Touch',
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass setUp: function() {
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass var touches = [
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass {
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass target: node,
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass pageX: 100,
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass pageY: 100
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass }
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass ];
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass var event = new Y.DOMEventFacade({
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass type: 'touch',
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass target: node.getDOMNode(),
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass scale: 1,
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass rotation: 1,
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass identifier: 'foobar',
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass pageX: 100,
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass pageY: 100,
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass touches: touches,
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass targetTouches: touches,
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass changedTouches: touches
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass }, node.getDOMNode());
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass this.event = event;
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass },
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass 'test: touch init': function() {
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass var event = this.event;
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass Assert.isFunction(event._touch);
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass },
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass 'test: touch properties': function() {
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass var event = this.event;
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass Assert.areEqual('touch', event.type);
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass Assert.areEqual(1, event.touches.length);
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass Assert.areEqual(1, event.changedTouches.length);
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass Assert.areEqual(1, event.targetTouches.length);
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass Assert.isUndefined(event.shiftKey);
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass Assert.areSame(1, event.scale);
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass Assert.areSame(1, event.rotation);
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass },
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass 'test: touch nodes': function() {
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass var event = this.event;
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass Assert.isInstanceOf(Y.Node, event.target);
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass Assert.isInstanceOf(Y.Node, event.currentTarget);
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass Assert.areSame(node, event.target);
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass Assert.areSame(node, event.currentTarget);
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass Assert.areSame(node.getDOMNode(), event._currentTarget);
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass
c50298e7ad9076694bfccf1ff3d0b340f601e9b4Dav Glass },
c50298e7ad9076694bfccf1ff3d0b340f601e9b4Dav Glass _should: {
c50298e7ad9076694bfccf1ff3d0b340f601e9b4Dav Glass fail: {
c50298e7ad9076694bfccf1ff3d0b340f601e9b4Dav Glass 'test: touch nodes': Y.UA.ie
c50298e7ad9076694bfccf1ff3d0b340f601e9b4Dav Glass }
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass }
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass }));
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass Y.Test.Runner.add(suite);
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass});