1 module("Callback Properties");
3 $.each(["init","start","","end"],function( i, type ){
5 test('"drop'+ type +'" callback',function(){
9 // create the markup for the test
10 var $drag = $('<div class="drag"/>')
11 .appendTo( document.body )
19 .bind("draginit",function( ev, dd ){
20 same( dd.drop, [], 'draginit: "drop"' );
21 same( dd.available, [], 'draginit: "available"' );
23 .bind("dragstart",function( ev, dd ){
24 same( dd.drop, [], 'dragstart: "drop"' );
25 same( dd.available, available, 'dragstart: "available"' );
27 .bind("drag",function( ev, dd ){
28 same( dd.drop, [], 'drag: "drop"' );
29 same( dd.available, available, 'drag: "available"' );
31 .bind("dragend",function( ev, dd ){
32 same( dd.drop, drop, 'dragend: "drop"' );
33 same( dd.available, available, 'dragend: "available"' );
37 $drop = $('<div class="drop"/><div class="drop"/>')
38 .appendTo( document.body )
46 .drop( type, function( ev, dd ){
47 same( dd.drop, i < 2 ? [] : drop, 'drop'+ type +': "drop"' );
48 same( dd.available, i < 1 ? [] : available, 'drop'+ type +': "available"' );
50 available = $drop.toArray(),
51 drop = $drop.eq(0).toArray();
53 $.drop({ mode:'overlap', multi:false });
54 // simulate a complete drag and drop
56 .fire("mousedown",{ pageX:50, pageY:50 })
57 .fire("mousemove",{ pageX:51, pageY:51 })
58 .fire("mouseup",{ pageX:51, pageY:51 })