// This assumes that QUnit tests are run on DOM ready!
test("jQuery ready",function(){
expect(10);
test("jQuery ready",function(){
expect(8);
ok(noEarlyExecution,"Handlers bound to DOM ready should not execute before DOM ready");
ok(noEarlyExecution,
"Handlers bound to DOM ready should not execute before DOM ready");
// Ensure execution order.
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");
deepEqual(order,["a","b","c","d"],
"Bound DOM ready handlers should execute in on-order");
// Ensure handler argument is correct.
equal(args["a"],jQuery,"Argument passed to fn in jQuery( fn ) should be jQuery");
equal(args["b"],jQuery,"Argument passed to fn in jQuery(document).ready( fn ) should be jQuery");
ok(args["c"]instanceofjQuery.Event,"Argument passed to fn in jQuery(document).on( 'ready', fn ) should be an event object");
equal(args.a,jQuery,
"Argument passed to fn in jQuery( fn ) should be jQuery");
equal(args.b,jQuery,
"Argument passed to fn in jQuery(document).ready( fn ) should be jQuery");
order=[];
// Now that the ready event has fired, again bind to the ready event
// in every possible way. These event handlers should execute immediately.
jQuery(makeHandler("g"));
equal(order.pop(),"g","Event handler should execute immediately");
equal(args["g"],jQuery,"Argument passed to fn in jQuery( fn ) should be jQuery");
jQuery(document).ready(makeHandler("h"));
equal(order.pop(),"h","Event handler should execute immediately");
equal(args["h"],jQuery,"Argument passed to fn in jQuery(document).ready( fn ) should be jQuery");