| 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 |