|
1 |
| -module("event"); |
| 1 | +module( "event" ); |
2 | 2 |
|
3 |
| -(function(){ |
| 3 | +(function() { |
4 | 4 | var notYetReady, noEarlyExecution,
|
5 | 5 | order = [],
|
6 | 6 | args = {};
|
7 | 7 |
|
8 | 8 | notYetReady = !jQuery.isReady;
|
9 | 9 |
|
10 |
| - test("jQuery.isReady", function() { |
11 |
| - expect(2); |
| 10 | + test( "jQuery.isReady", function() { |
| 11 | + expect( 2 ); |
12 | 12 |
|
13 |
| - equal(notYetReady, true, "jQuery.isReady should not be true before DOM ready"); |
14 |
| - equal(jQuery.isReady, true, "jQuery.isReady should be true once DOM is ready"); |
| 13 | + equal( notYetReady, true, "jQuery.isReady should not be true before DOM ready" ); |
| 14 | + equal( jQuery.isReady, true, "jQuery.isReady should be true once DOM is ready" ); |
15 | 15 | });
|
16 | 16 |
|
17 | 17 | // Create an event handler.
|
18 | 18 | function makeHandler( testId ) {
|
| 19 | + |
19 | 20 | // When returned function is executed, push testId onto `order` array
|
20 | 21 | // to ensure execution order. Also, store event handler arg to ensure
|
21 | 22 | // the correct arg is being passed into the event handler.
|
22 | 23 | return function( arg ) {
|
23 |
| - order.push(testId); |
| 24 | + order.push( testId ); |
24 | 25 | args[testId] = arg;
|
25 | 26 | };
|
26 | 27 | }
|
27 | 28 |
|
28 | 29 | // Bind to the ready event in every possible way.
|
29 |
| - jQuery(makeHandler("a")); |
30 |
| - jQuery(document).ready(makeHandler("b")); |
31 |
| - jQuery(document).on("ready.readytest", makeHandler("c")); |
| 30 | + jQuery( makeHandler( "a" ) ); |
| 31 | + jQuery( document ).ready( makeHandler( "b" ) ); |
32 | 32 |
|
33 | 33 | // Do it twice, just to be sure.
|
34 |
| - jQuery(makeHandler("d")); |
35 |
| - jQuery(document).ready(makeHandler("e")); |
36 |
| - jQuery(document).on("ready.readytest", makeHandler("f")); |
| 34 | + jQuery( makeHandler( "c" ) ); |
| 35 | + jQuery( document ).ready( makeHandler( "d" ) ); |
37 | 36 |
|
38 | 37 | noEarlyExecution = order.length === 0;
|
39 | 38 |
|
40 | 39 | // This assumes that QUnit tests are run on DOM ready!
|
41 |
| - test("jQuery ready", function() { |
42 |
| - expect(10); |
| 40 | + test( "jQuery ready", function() { |
| 41 | + expect( 8 ); |
43 | 42 |
|
44 |
| - ok(noEarlyExecution, "Handlers bound to DOM ready should not execute before DOM ready"); |
| 43 | + ok( noEarlyExecution, |
| 44 | + "Handlers bound to DOM ready should not execute before DOM ready" ); |
45 | 45 |
|
46 | 46 | // Ensure execution order.
|
47 |
| - deepEqual(order, ["a", "b", "d", "e", "c", "f"], "Bound DOM ready handlers should execute in on-order, but those bound with jQuery(document).on( 'ready', fn ) will always execute last"); |
| 47 | + deepEqual( order, [ "a", "b", "c", "d" ], |
| 48 | + "Bound DOM ready handlers should execute in on-order" ); |
48 | 49 |
|
49 | 50 | // Ensure handler argument is correct.
|
50 |
| - equal(args["a"], jQuery, "Argument passed to fn in jQuery( fn ) should be jQuery"); |
51 |
| - equal(args["b"], jQuery, "Argument passed to fn in jQuery(document).ready( fn ) should be jQuery"); |
52 |
| - ok(args["c"] instanceof jQuery.Event, "Argument passed to fn in jQuery(document).on( 'ready', fn ) should be an event object"); |
| 51 | + equal( args.a, jQuery, |
| 52 | + "Argument passed to fn in jQuery( fn ) should be jQuery" ); |
| 53 | + equal( args.b, jQuery, |
| 54 | + "Argument passed to fn in jQuery(document).ready( fn ) should be jQuery" ); |
53 | 55 |
|
54 | 56 | order = [];
|
55 | 57 |
|
56 | 58 | // Now that the ready event has fired, again bind to the ready event
|
57 | 59 | // in every possible way. These event handlers should execute immediately.
|
58 |
| - jQuery(makeHandler("g")); |
59 |
| - equal(order.pop(), "g", "Event handler should execute immediately"); |
60 |
| - equal(args["g"], jQuery, "Argument passed to fn in jQuery( fn ) should be jQuery"); |
61 |
| - |
62 |
| - jQuery(document).ready(makeHandler("h")); |
63 |
| - equal(order.pop(), "h", "Event handler should execute immediately"); |
64 |
| - equal(args["h"], jQuery, "Argument passed to fn in jQuery(document).ready( fn ) should be jQuery"); |
65 |
| - |
66 |
| - jQuery(document).on("ready.readytest", makeHandler("never")); |
67 |
| - equal(order.length, 0, "Event handler should never execute since DOM ready has already passed"); |
68 |
| - |
69 |
| - // Cleanup. |
70 |
| - jQuery(document).off("ready.readytest"); |
| 60 | + jQuery( makeHandler( "g" ) ); |
| 61 | + equal( order.pop(), "g", "Event handler should execute immediately" ); |
| 62 | + equal( args.g, jQuery, "Argument passed to fn in jQuery( fn ) should be jQuery" ); |
| 63 | + |
| 64 | + jQuery( document ).ready( makeHandler( "h" ) ); |
| 65 | + equal( order.pop(), "h", "Event handler should execute immediately" ); |
| 66 | + equal( args.h, jQuery, |
| 67 | + "Argument passed to fn in jQuery(document).ready( fn ) should be jQuery" ); |
71 | 68 | });
|
72 | 69 |
|
73 | 70 | })();
|
0 commit comments