Skip to content

Commit 9f76446

Browse files
committed
Dev: remove unnecessary simulated drag delegation in test suite
1 parent 5dee8de commit 9f76446

12 files changed

+300
-193
lines changed

tests/unit/dialog/dialog_test_helpers.js

+3-4
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@ TestHelpers.dialog = {
33
var d = el.dialog('widget');
44
//this mouseover is to work around a limitation in resizable
55
//TODO: fix resizable so handle doesn't require mouseover in order to be used
6-
$(handle, d).simulate("mouseover");
7-
$(handle, d).simulate("drag", {
8-
dx: dx || 0,
9-
dy: dy || 0
6+
$( handle, d ).simulate("mouseover").simulate( "drag", {
7+
dx: dx,
8+
dy: dy
109
});
1110
},
1211
testDrag: function(el, dx, dy, expectedDX, expectedDY, msg) {

tests/unit/draggable/draggable_core.js

+10-13
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,10 @@ test("element types", function() {
2222
(typeName === 'table' && el.append("<tr><td>content</td></tr>"));
2323
el.draggable({ cancel: '' });
2424
offsetBefore = el.offset();
25-
TestHelpers.draggable.drag(el, 50, 50);
25+
el.simulate( "drag", {
26+
dx: 50,
27+
dy: 50
28+
});
2629
offsetAfter = el.offset();
2730
// there are some rounding errors in FF, Chrome, and IE9, so we can't say equal, we have to settle for close enough
2831
closeEnough(offsetBefore.left, offsetAfter.left - 50, 1, "dragged[50, 50] " + "<" + typeName + ">");
@@ -55,21 +58,15 @@ test("resizable handle with complex markup (#8756 / #8757)", function() {
5558
.append($('<div>'))
5659
);
5760

58-
var handle = '.ui-resizable-w div',
59-
target = $('#draggable1').draggable().resizable({ handles: 'all' }),
60-
drag = function(el, dx) {
61-
$(el)
62-
.simulate("mouseover")
63-
.simulate("drag", {
64-
dx: dx || 0,
65-
speed: 'sync'
66-
});
67-
};
61+
var handle = $('.ui-resizable-w div'),
62+
target = $('#draggable1').draggable().resizable({ handles: 'all' });
6863

69-
drag(handle, -50);
64+
// todo: fix resizable so it doesn't require a mouseover
65+
handle.simulate("mouseover").simulate( "drag", { dx: -50 } );
7066
equal( target.width(), 250, "compare width" );
7167

72-
drag(handle, 50);
68+
// todo: fix resizable so it doesn't require a mouseover
69+
handle.simulate("mouseover").simulate( "drag", { dx: 50 } );
7370
equal( target.width(), 200, "compare width" );
7471
});
7572

tests/unit/draggable/draggable_events.js

+16-4
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,10 @@ test("callbacks occurrence count", function() {
1818
stop: function() { stop++; }
1919
});
2020

21-
TestHelpers.draggable.drag(el, 10, 10);
21+
el.simulate( "drag", {
22+
dx: 10,
23+
dy: 10
24+
});
2225

2326
equal(start, 1, "start callback should happen exactly once");
2427
equal(dragc, 3, "drag callback should happen exactly once per mousemove");
@@ -39,7 +42,10 @@ test("stopping the start callback", function() {
3942
stop: function() { stop++; }
4043
});
4144

42-
TestHelpers.draggable.drag(el, 10, 10);
45+
el.simulate( "drag", {
46+
dx: 10,
47+
dy: 10
48+
});
4349

4450
equal(start, 1, "start callback should happen exactly once");
4551
equal(dragc, 0, "drag callback should not happen at all");
@@ -60,7 +66,10 @@ test("stopping the drag callback", function() {
6066
stop: function() { stop++; }
6167
});
6268

63-
TestHelpers.draggable.drag(el, 10, 10);
69+
el.simulate( "drag", {
70+
dx: 10,
71+
dy: 10
72+
});
6473

6574
equal(start, 1, "start callback should happen exactly once");
6675
equal(dragc, 1, "drag callback should happen exactly once");
@@ -77,7 +86,10 @@ test("stopping the stop callback", function() {
7786
stop: function() { return false; }
7887
});
7988

80-
TestHelpers.draggable.drag(el, 10, 10);
89+
el.simulate( "drag", {
90+
dx: 10,
91+
dy: 10
92+
});
8193

8294
ok($("#draggable2").data('ui-draggable').helper, "the clone should not be deleted if the stop callback is stopped");
8395

tests/unit/draggable/draggable_options.js

+96-48
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,11 @@ test("{ containment: 'parent' }, relative", function() {
162162
left: po.left + TestHelpers.draggable.border(p, 'left') + TestHelpers.draggable.margin(el, 'left'),
163163
top: po.top + TestHelpers.draggable.border(p, 'top') + TestHelpers.draggable.margin(el, 'top')
164164
};
165-
TestHelpers.draggable.drag(el, -100, -100);
165+
166+
el.simulate( "drag", {
167+
dx: -100,
168+
dy: -100
169+
});
166170
offsetAfter = el.offset();
167171
deepEqual(offsetAfter, expected, 'compare offset to parent');
168172
});
@@ -178,7 +182,11 @@ test("{ containment: 'parent' }, absolute", function() {
178182
left: po.left + TestHelpers.draggable.border(p, 'left') + TestHelpers.draggable.margin(el, 'left'),
179183
top: po.top + TestHelpers.draggable.border(p, 'top') + TestHelpers.draggable.margin(el, 'top')
180184
};
181-
TestHelpers.draggable.drag(el, -100, -100);
185+
186+
el.simulate( "drag", {
187+
dx: -100,
188+
dy: -100
189+
});
182190
offsetAfter = el.offset();
183191
deepEqual(offsetAfter, expected, 'compare offset to parent');
184192
});
@@ -214,17 +222,20 @@ test("{ cursor: 'auto' }, default", function() {
214222

215223
expect(2);
216224

217-
var expected = "auto", actual, before, after;
218-
219-
$("#draggable2").draggable({
220-
cursor: expected,
221-
start: function() {
222-
actual = getCursor();
223-
}
224-
});
225+
var actual, before, after,
226+
expected = "auto",
227+
el = $("#draggable2").draggable({
228+
cursor: expected,
229+
start: function() {
230+
actual = getCursor();
231+
}
232+
});
225233

226234
before = getCursor();
227-
TestHelpers.draggable.drag("#draggable2", -1, -1);
235+
el.simulate( "drag", {
236+
dx: -1,
237+
dy: -1
238+
});
228239
after = getCursor();
229240

230241
equal(actual, expected, "start callback: cursor '" + expected + "'");
@@ -238,17 +249,20 @@ test("{ cursor: 'move' }", function() {
238249

239250
expect(2);
240251

241-
var expected = "move", actual, before, after;
242-
243-
$("#draggable2").draggable({
244-
cursor: expected,
245-
start: function() {
246-
actual = getCursor();
247-
}
248-
});
252+
var actual, before, after,
253+
expected = "move",
254+
el = $("#draggable2").draggable({
255+
cursor: expected,
256+
start: function() {
257+
actual = getCursor();
258+
}
259+
});
249260

250261
before = getCursor();
251-
TestHelpers.draggable.drag("#draggable2", -1, -1);
262+
el.simulate( "drag", {
263+
dx: -1,
264+
dy: -1
265+
});
252266
after = getCursor();
253267

254268
equal(actual, expected, "start callback: cursor '" + expected + "'");
@@ -648,7 +662,10 @@ test("{ helper: 'clone' }, absolute", function() {
648662
helperOffset = ui.helper.offset();
649663
} });
650664

651-
TestHelpers.draggable.drag(el, 1, 1);
665+
el.simulate( "drag", {
666+
dx: 1,
667+
dy: 1
668+
});
652669
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, 'dragged[1, 1] ');
653670

654671
});
@@ -666,17 +683,26 @@ test("{ helper: 'clone' }, absolute with scroll offset on parent", function() {
666683

667684
$("#main").css('position', 'relative');
668685
origOffset = $("#draggable1").offset();
669-
TestHelpers.draggable.drag(el, 1, 1);
686+
el.simulate( "drag", {
687+
dx: 1,
688+
dy: 1
689+
});
670690
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, 'dragged[1, 1] ');
671691

672692
$("#main").css('position', 'static');
673693
origOffset = $("#draggable1").offset();
674-
TestHelpers.draggable.drag(el, 1, 1);
694+
el.simulate( "drag", {
695+
dx: 1,
696+
dy: 1
697+
});
675698
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, 'dragged[1, 1] ');
676699

677700
$("#main").css('position', 'absolute');
678701
origOffset = $("#draggable1").offset();
679-
TestHelpers.draggable.drag(el, 1, 1);
702+
el.simulate( "drag", {
703+
dx: 1,
704+
dy: 1
705+
});
680706
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, 'dragged[1, 1] ');
681707

682708
TestHelpers.draggable.restoreScroll();
@@ -696,17 +722,26 @@ test("{ helper: 'clone' }, absolute with scroll offset on root", function() {
696722

697723
$("#main").css('position', 'relative');
698724
origOffset = $("#draggable1").offset();
699-
TestHelpers.draggable.drag(el, 1, 1);
725+
el.simulate( "drag", {
726+
dx: 1,
727+
dy: 1
728+
});
700729
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, 'dragged[1, 1] ');
701730

702731
$("#main").css('position', 'static');
703732
origOffset = $("#draggable1").offset();
704-
TestHelpers.draggable.drag(el, 1, 1);
733+
el.simulate( "drag", {
734+
dx: 1,
735+
dy: 1
736+
});
705737
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, 'dragged[1, 1] ');
706738

707739
$("#main").css('position', 'absolute');
708740
origOffset = $("#draggable1").offset();
709-
TestHelpers.draggable.drag(el, 1, 1);
741+
el.simulate( "drag", {
742+
dx: 1,
743+
dy: 1
744+
});
710745
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, 'dragged[1, 1] ');
711746

712747
TestHelpers.draggable.restoreScroll('root');
@@ -728,17 +763,26 @@ test("{ helper: 'clone' }, absolute with scroll offset on root and parent", func
728763

729764
$("#main").css('position', 'relative');
730765
origOffset = $("#draggable1").offset();
731-
TestHelpers.draggable.drag(el, 1, 1);
766+
el.simulate( "drag", {
767+
dx: 1,
768+
dy: 1
769+
});
732770
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, 'dragged[1, 1] ');
733771

734772
$("#main").css('position', 'static');
735773
origOffset = $("#draggable1").offset();
736-
TestHelpers.draggable.drag(el, 1, 1);
774+
el.simulate( "drag", {
775+
dx: 1,
776+
dy: 1
777+
});
737778
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, 'dragged[1, 1] ');
738779

739780
$("#main").css('position', 'absolute');
740781
origOffset = $("#draggable1").offset();
741-
TestHelpers.draggable.drag(el, 1, 1);
782+
el.simulate( "drag", {
783+
dx: 1,
784+
dy: 1
785+
});
742786
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, 'dragged[1, 1] ');
743787

744788
TestHelpers.draggable.restoreScroll('root');
@@ -750,17 +794,19 @@ test("{ opacity: 0.5 }", function() {
750794

751795
expect(1);
752796

753-
var opacity = null;
754-
755-
$("#draggable2").draggable({
756-
opacity: 0.5,
757-
start: function() {
758-
opacity = $(this).css("opacity");
759-
}
797+
var opacity = null,
798+
el = $("#draggable2").draggable({
799+
opacity: 0.5,
800+
start: function() {
801+
opacity = $(this).css("opacity");
802+
}
803+
});
804+
805+
el.simulate( "drag", {
806+
dx: -1,
807+
dy: -1
760808
});
761809

762-
TestHelpers.draggable.drag("#draggable2", -1, -1);
763-
764810
equal(opacity, 0.5, "start callback: opacity is");
765811

766812
});
@@ -770,17 +816,19 @@ test("{ zIndex: 10 }", function() {
770816
expect(1);
771817

772818
var actual,
773-
expected = 10;
774-
775-
$("#draggable2").draggable({
776-
zIndex: expected,
777-
start: function() {
778-
actual = $(this).css("zIndex");
779-
}
819+
expected = 10,
820+
el = $("#draggable2").draggable({
821+
zIndex: expected,
822+
start: function() {
823+
actual = $(this).css("zIndex");
824+
}
825+
});
826+
827+
el.simulate( "drag", {
828+
dx: -1,
829+
dy: -1
780830
});
781831

782-
TestHelpers.draggable.drag("#draggable2", -1, -1);
783-
784832
equal(actual, expected, "start callback: zIndex is");
785833

786834
});

tests/unit/draggable/draggable_test_helpers.js

+4-7
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,14 @@
11
TestHelpers.draggable = {
22
// todo: remove the unreliable offset hacks
33
unreliableOffset: $.ui.ie && ( !document.documentMode || document.documentMode < 8 ) ? 2 : 0,
4-
drag: function(handle, dx, dy) {
5-
$(handle).simulate("drag", {
6-
dx: dx || 0,
7-
dy: dy || 0
8-
});
9-
},
104
testDrag: function(el, handle, dx, dy, expectedDX, expectedDY, msg) {
115
var offsetAfter, actual, expected,
126
offsetBefore = el.offset();
137

14-
TestHelpers.draggable.drag(handle, dx, dy);
8+
$( handle ).simulate( "drag", {
9+
dx: dx,
10+
dy: dy
11+
});
1512
offsetAfter = el.offset();
1613

1714
actual = { left: offsetAfter.left, top: offsetAfter.top },
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,10 @@
11
TestHelpers.resizable = {
2-
drag: function(el, dx, dy, complete) {
3-
4-
// speed = sync -> Drag syncrhonously.
5-
// speed = fast|slow -> Drag asyncrhonously - animated.
6-
7-
//this mouseover is to work around a limitation in resizable
8-
//TODO: fix resizable so handle doesn't require mouseover in order to be used
9-
$(el).simulate("mouseover");
10-
11-
return $(el).simulate("drag", {
12-
dx: dx||0, dy: dy||0, speed: 'sync', complete: complete
2+
drag: function( el, dx, dy ) {
3+
// this mouseover is to work around a limitation in resizable
4+
// TODO: fix resizable so handle doesn't require mouseover in order to be used
5+
$( el ).simulate("mouseover").simulate( "drag", {
6+
dx: dx,
7+
dy: dy
138
});
149
}
1510
};

0 commit comments

Comments
 (0)