Cross Reference: /yui3/src/event/tests/touch-tests.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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 },
31689fe47c538a80973e2d32445b844f609fc5b8Satyen Desai
c50298e7ad9076694bfccf1ff3d0b340f601e9b4Dav Glass _should: {
31689fe47c538a80973e2d32445b844f609fc5b8Satyen Desai ignore: {
31689fe47c538a80973e2d32445b844f609fc5b8Satyen Desai // event-touch doesn't make sense on IE 6,7,8 and needs to account for the inclusion of event-base-ie
31689fe47c538a80973e2d32445b844f609fc5b8Satyen Desai // which modifies Y.DOMEventFacade - which is another issue
31689fe47c538a80973e2d32445b844f609fc5b8Satyen Desai 'test: touch nodes': Y.UA.ie && Y.UA.ie < 9
c50298e7ad9076694bfccf1ff3d0b340f601e9b4Dav Glass }
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass }
31689fe47c538a80973e2d32445b844f609fc5b8Satyen Desai
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass }));
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass Y.Test.Runner.add(suite);
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass
e07b61c6681ab2ac1c89566f694ef33606a63364Dav Glass});