1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
module("Callback Properties");
$.each(["init","start","","end"],function( i, type ){
test('"drop'+ type +'" callback',function(){
expect( i ? 10 : 12 );
// create the markup for the test
var $drag = $('<div class="drag"/>')
.appendTo( document.body )
.css({
position: 'absolute',
top: 0,
left: 0,
height: 100,
width: 100
})
.bind("draginit",function( ev, dd ){
same( dd.drop, [], 'draginit: "drop"' );
same( dd.available, [], 'draginit: "available"' );
})
.bind("dragstart",function( ev, dd ){
same( dd.drop, [], 'dragstart: "drop"' );
same( dd.available, available, 'dragstart: "available"' );
})
.bind("drag",function( ev, dd ){
same( dd.drop, [], 'drag: "drop"' );
same( dd.available, available, 'drag: "available"' );
})
.bind("dragend",function( ev, dd ){
same( dd.drop, drop, 'dragend: "drop"' );
same( dd.available, available, 'dragend: "available"' );
$drag.remove();
$drop.remove();
}),
$drop = $('<div class="drop"/><div class="drop"/>')
.appendTo( document.body )
.css({
position: 'absolute',
top: 0,
left: 0,
height: 100,
width: 100
})
.drop( type, function( ev, dd ){
same( dd.drop, i < 2 ? [] : drop, 'drop'+ type +': "drop"' );
same( dd.available, i < 1 ? [] : available, 'drop'+ type +': "available"' );
}),
available = $drop.toArray(),
drop = $drop.eq(0).toArray();
$.drop({ mode:'overlap', multi:false });
// simulate a complete drag and drop
$drag
.fire("mousedown",{ pageX:50, pageY:50 })
.fire("mousemove",{ pageX:51, pageY:51 })
.fire("mouseup",{ pageX:51, pageY:51 })
.trigger("click");
});
});
|