OLD | NEW |
1 // NOTE: You must include resources/js-test.js before this file in a test case s
ince | 1 // NOTE: You must include resources/js-test.js before this file in a test case s
ince |
2 // this file makes use of functions in js-test.js. | 2 // this file makes use of functions in js-test.js. |
3 | 3 |
4 var replayEventQueue = []; // Global queue of recorded events. | 4 var replayEventQueue = []; // Global queue of recorded events. |
5 var registeredElementsAndEventsStruct; // Global structure of registered element
s and events. | 5 var registeredElementsAndEventsStruct; // Global structure of registered element
s and events. |
6 | 6 |
7 function registerElementsAndEventsToRecord(elementsToRecord, eventsToRecord) | 7 function registerElementsAndEventsToRecord(elementsToRecord, eventsToRecord) |
8 { | 8 { |
9 registeredElementsAndEventsStruct = {"elementsToRecord": elementsToRecord, "
eventsToRecord": eventsToRecord}; | 9 registeredElementsAndEventsStruct = {"elementsToRecord": elementsToRecord, "
eventsToRecord": eventsToRecord}; |
10 } | 10 } |
(...skipping 23 matching lines...) Expand all Loading... |
34 var elements = registeredElementsAndEventsStruct.elementsToRecord; | 34 var elements = registeredElementsAndEventsStruct.elementsToRecord; |
35 var events = registeredElementsAndEventsStruct.eventsToRecord; | 35 var events = registeredElementsAndEventsStruct.eventsToRecord; |
36 for (var i = 0; i < elements.length; ++i) { | 36 for (var i = 0; i < elements.length; ++i) { |
37 for (var j = 0; j < events.length; ++j) | 37 for (var j = 0; j < events.length; ++j) |
38 callback(elements[i], events[j]) | 38 callback(elements[i], events[j]) |
39 } | 39 } |
40 } | 40 } |
41 | 41 |
42 function _recordEvent(event) | 42 function _recordEvent(event) |
43 { | 43 { |
44 replayEventQueue.push(event); | 44 replayEventQueue.push([event, event.currentTarget.id]); |
45 } | 45 } |
46 | 46 |
47 function checkThatEventsFiredInOrder(expectedOrderQueue) | 47 function checkThatEventsFiredInOrder(expectedOrderQueue) |
48 { | 48 { |
49 function eventTarget(event) | |
50 { | |
51 // In Internet Explorer an Event object does not have a "target" propert
y. | |
52 // The analagous property is called "srcElement". | |
53 return event.target || event.srcElement; | |
54 } | |
55 | |
56 function elementIdOrTagName(element) | |
57 { | |
58 return element.id || element.tagName; | |
59 } | |
60 | |
61 while (replayEventQueue.length && expectedOrderQueue.length) { | 49 while (replayEventQueue.length && expectedOrderQueue.length) { |
62 var replayedEvent = replayEventQueue.shift(); | 50 var replayedEvent = replayEventQueue.shift(); |
63 var expectedEvent = expectedOrderQueue.shift(); | 51 var expectedEvent = expectedOrderQueue.shift(); |
64 var replayedEventTargetName = elementIdOrTagName(eventTarget(replayedEve
nt)); | 52 var replayedEventTargetName = replayedEvent[1]; |
65 if (replayedEventTargetName === expectedEvent[0] && replayedEvent.type =
== expectedEvent[1]) | 53 if (replayedEventTargetName === expectedEvent[0] && replayedEvent[0].typ
e === expectedEvent[1]) |
66 testPassed('fired event is (' + replayedEventTargetName + ', ' + rep
layedEvent.type + ').'); | 54 testPassed('fired event is (' + replayedEventTargetName + ', ' + rep
layedEvent[0].type + ').'); |
67 else { | 55 else { |
68 testFailed('fired event is (' + replayedEventTargetName + ', ' + rep
layedEvent.type + '). ' + | 56 testFailed('fired event is (' + replayedEventTargetName + ', ' + rep
layedEvent[0].type + '). ' + |
69 'Should be (' + expectedEvent[0] + ', ' + expectedEvent[1
] + ').'); | 57 'Should be (' + expectedEvent[0] + ', ' + expectedEvent[1
] + ').'); |
70 } | 58 } |
71 } | 59 } |
72 while (replayEventQueue.length) { | 60 while (replayEventQueue.length) { |
73 var replayedEvent = replayEventQueue.shift(); | 61 var replayedEvent = replayEventQueue.shift(); |
74 testFailed('should not have fired event (' + elementIdOrTagName(eventTar
get(replayedEvent)) + ', ' + replayedEvent.type + '). But did.'); | 62 testFailed('should not have fired event (' + replayedEvent[1] + ', ' + r
eplayedEvent[0].type + '). But did.'); |
75 } | 63 } |
76 while (expectedOrderQueue.length) { | 64 while (expectedOrderQueue.length) { |
77 var expectedEvent = expectedOrderQueue.shift(); | 65 var expectedEvent = expectedOrderQueue.shift(); |
78 testFailed('should have fired event (' + expectedEvent[0] + ', ' + expec
tedEvent[1] + '). But did not.'); | 66 testFailed('should have fired event (' + expectedEvent[0] + ', ' + expec
tedEvent[1] + '). But did not.'); |
79 } | 67 } |
80 } | 68 } |
OLD | NEW |