Skip to content

Commit a408877

Browse files
committed
Draggable: Convert tests to new infrastructure
1 parent 39403e6 commit a408877

File tree

7 files changed

+246
-253
lines changed

7 files changed

+246
-253
lines changed

tests/unit/draggable/draggable.html

Lines changed: 57 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -4,94 +4,65 @@
44
<meta charset="utf-8">
55
<title>jQuery UI Draggable Test Suite</title>
66

7-
<script src="../../jquery.js"></script>
8-
<link rel="stylesheet" href="../../../external/qunit/qunit.css">
9-
7+
<script src="../../lib/css.js" data-modules="core"></script>
8+
<script src="../../lib/bootstrap.js" data-widget="draggable"></script>
109
<style>
11-
#main {
12-
width: 1000px;
13-
height: 1000px;
14-
overflow: scroll;
15-
overflow-x: scroll;
16-
overflow-y: scroll;
17-
position: relative;
18-
left: 0;
19-
top: 0;
20-
}
21-
#main-forceScrollable {
22-
position: absolute;
23-
left: 0;
24-
top: 0;
25-
width: 1100px;
26-
height: 1100px;
27-
}
28-
#scrollParent {
29-
width: 1200px;
30-
height: 1200px;
31-
position: relative;
32-
left: 0;
33-
top: 0;
34-
overflow: hidden;
35-
overflow-x: hidden;
36-
overflow-y: hidden;
37-
}
38-
#scrollParent-forceScrollable {
39-
position: absolute;
40-
left: 0;
41-
top: 0;
42-
width: 1300px;
43-
height: 1300px;
44-
}
45-
/* See #9077 */
46-
#draggable3, #draggable4 {
47-
z-index: 100;
48-
}
49-
.sortable {
50-
position: relative;
51-
top: 8000px;
52-
left: 10px;
53-
width: 300px;
54-
padding: 0;
55-
margin: 0;
56-
border: 0;
57-
}
58-
.sortable li {
59-
height: 100px;
60-
padding: 0;
61-
margin: 0;
62-
border: 0;
63-
list-style: none;
64-
display: inline-block;
65-
}
10+
#main {
11+
width: 1000px;
12+
height: 1000px;
13+
overflow: scroll;
14+
overflow-x: scroll;
15+
overflow-y: scroll;
16+
position: relative;
17+
left: 0;
18+
top: 0;
19+
}
20+
#main-forceScrollable {
21+
position: absolute;
22+
left: 0;
23+
top: 0;
24+
width: 1100px;
25+
height: 1100px;
26+
}
27+
#scrollParent {
28+
width: 1200px;
29+
height: 1200px;
30+
position: relative;
31+
left: 0;
32+
top: 0;
33+
overflow: hidden;
34+
overflow-x: hidden;
35+
overflow-y: hidden;
36+
}
37+
#scrollParent-forceScrollable {
38+
position: absolute;
39+
left: 0;
40+
top: 0;
41+
width: 1300px;
42+
height: 1300px;
43+
}
44+
/* See #9077 */
45+
#draggable3, #draggable4 {
46+
z-index: 100;
47+
}
48+
.sortable {
49+
position: relative;
50+
top: 8000px;
51+
left: 10px;
52+
width: 300px;
53+
padding: 0;
54+
margin: 0;
55+
border: 0;
56+
}
57+
.sortable li {
58+
height: 100px;
59+
padding: 0;
60+
margin: 0;
61+
border: 0;
62+
list-style: none;
63+
display: inline-block;
64+
}
6665
</style>
67-
68-
<script src="../../../external/qunit/qunit.js"></script>
69-
<script src="../../../external/jquery-simulate/jquery.simulate.js"></script>
70-
<script src="../testsuite.js"></script>
71-
<script src="../../../external/qunit-assert-classes/qunit-assert-classes.js"></script>
72-
<script>
73-
TestHelpers.loadResources({
74-
css: [ "core" ],
75-
js: [
76-
"ui/core.js",
77-
"ui/widget.js",
78-
"ui/mouse.js",
79-
"ui/resizable.js",
80-
"ui/draggable.js",
81-
"ui/droppable.js",
82-
"ui/sortable.js"
83-
]
84-
});
85-
</script>
86-
87-
<script src="draggable_common.js"></script>
88-
<script src="draggable_core.js"></script>
89-
<script src="draggable_events.js"></script>
90-
<script src="draggable_methods.js"></script>
91-
<script src="draggable_options.js"></script>
92-
<script src="draggable_test_helpers.js"></script>
93-
94-
<script src="../swarminject.js"></script>
9566
</head>
9667
<body>
9768

tests/unit/draggable/draggable_common.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
TestHelpers.commonWidgetTests( "draggable", {
1+
define( [
2+
"lib/common",
3+
"ui/draggable"
4+
], function( common ) {
5+
6+
common.testWidget( "draggable", {
27
defaults: {
38
appendTo: "parent",
49
axis: false,
@@ -39,3 +44,5 @@ TestHelpers.commonWidgetTests( "draggable", {
3944
stop: null
4045
}
4146
});
47+
48+
} );

tests/unit/draggable/draggable_core.js

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1-
/*
2-
* draggable_core.js
3-
*/
4-
5-
(function( $ ) {
1+
define( [
2+
"jquery",
3+
"lib/helper",
4+
"./draggable_test_helpers",
5+
"ui/draggable",
6+
"ui/droppable",
7+
"ui/resizable"
8+
], function( $, testHelpers, draggableTestHelpers ) {
69

710
module( "draggable: core" );
811

@@ -51,12 +54,12 @@ test( "element types", function( assert ) {
5154

5255
test( "No options, relative", function() {
5356
expect( 2 );
54-
TestHelpers.draggable.shouldMove( $( "#draggable1" ).draggable(), "no options, relative" );
57+
draggableTestHelpers.shouldMove( $( "#draggable1" ).draggable(), "no options, relative" );
5558
});
5659

5760
test( "No options, absolute", function() {
5861
expect( 2 );
59-
TestHelpers.draggable.shouldMove( $( "#draggable2" ).draggable(), "no options, absolute" );
62+
draggableTestHelpers.shouldMove( $( "#draggable2" ).draggable(), "no options, absolute" );
6063
});
6164

6265
test( "resizable handle with complex markup (#8756 / #8757)", function() {
@@ -99,7 +102,7 @@ test( "#8269: Removing draggable element on drop", function() {
99102
});
100103

101104
// Support: Opera 12.10, Safari 5.1, jQuery <1.8
102-
if ( TestHelpers.draggable.unreliableContains ) {
105+
if ( draggableTestHelpers.unreliableContains ) {
103106
ok( true, "Opera <12.14 and Safari <6.0 report wrong values for $.contains in jQuery < 1.8" );
104107
ok( true, "Opera <12.14 and Safari <6.0 report wrong values for $.contains in jQuery < 1.8" );
105108
} else {
@@ -125,7 +128,7 @@ test( "Stray mousemove after mousedown still drags", function() {
125128
$( document ).simulate( "mousemove", { button: -1 });
126129
});
127130

128-
TestHelpers.draggable.shouldMove( element, "element is draggable" );
131+
draggableTestHelpers.shouldMove( element, "element is draggable" );
129132
});
130133

131134
test( "#6258: not following mouse when scrolled and using overflow-y: scroll", function() {
@@ -145,7 +148,7 @@ test( "#6258: not following mouse when scrolled and using overflow-y: scroll", f
145148
oldOverflowY = $( "html" ).css( "overflow-y" ),
146149
oldOverflowX = $( "html" ).css( "overflow-x" );
147150

148-
TestHelpers.forceScrollableWindow();
151+
testHelpers.forceScrollableWindow();
149152

150153
$( "html" )
151154
.css( "overflow-y", "scroll" )
@@ -171,7 +174,7 @@ test( "#9315: jumps down with offset of scrollbar", function() {
171174
}
172175
});
173176

174-
TestHelpers.forceScrollableWindow();
177+
testHelpers.forceScrollableWindow();
175178

176179
$( "html" ).scrollTop( 300 ).scrollLeft( 300 );
177180

@@ -205,7 +208,7 @@ test( "scroll offset with fixed ancestors", function() {
205208
}
206209
});
207210

208-
TestHelpers.forceScrollableWindow();
211+
testHelpers.forceScrollableWindow();
209212

210213
$( "#wrapper" ).css( "position", "fixed" );
211214
$( "#wrapper2" ).css( "position", "absolute" );
@@ -276,8 +279,8 @@ test( "#5727: draggable from iframe", function() {
276279
equal( draggable1.closest( iframeBody ).length, 1 );
277280

278281
// TODO: fix draggable within an IFRAME to fire events on the element properly
279-
// and these TestHelpers.draggable.shouldMove relies on events for testing
280-
//TestHelpers.draggable.shouldMove( draggable1, "draggable from an iframe" );
282+
// and these draggableTestHelpers.shouldMove relies on events for testing
283+
//draggableTestHelpers.shouldMove( draggable1, "draggable from an iframe" );
281284
});
282285

283286
test( "#8399: A draggable should become the active element after you are finished interacting with it, but not before.", function() {
@@ -289,7 +292,7 @@ test( "#8399: A draggable should become the active element after you are finishe
289292
notStrictEqual( document.activeElement, element.get( 0 ), "moving a draggable anchor did not make it the active element" );
290293
});
291294

292-
TestHelpers.draggable.move( element, 50, 50 );
295+
draggableTestHelpers.move( element, 50, 50 );
293296

294297
strictEqual( document.activeElement, element.get( 0 ), "finishing moving a draggable anchor made it the active element" );
295298
});
@@ -300,16 +303,16 @@ asyncTest( "blur behavior", function() {
300303
var element = $( "#draggable1" ).draggable(),
301304
focusElement = $( "<div tabindex='1'></div>" ).appendTo( element );
302305

303-
TestHelpers.onFocus( focusElement, function() {
306+
testHelpers.onFocus( focusElement, function() {
304307
strictEqual( document.activeElement, focusElement.get( 0 ), "test element is focused before mousing down on a draggable" );
305308

306-
TestHelpers.draggable.move( focusElement, 1, 1 );
309+
draggableTestHelpers.move( focusElement, 1, 1 );
307310

308311
// http://bugs.jqueryui.com/ticket/10527
309312
// Draggable: Can't select option in modal dialog (IE8)
310313
strictEqual( document.activeElement, focusElement.get( 0 ), "test element is focused after mousing down on itself" );
311314

312-
TestHelpers.draggable.move( element, 50, 50 );
315+
draggableTestHelpers.move( element, 50, 50 );
313316

314317
// http://bugs.jqueryui.com/ticket/4261
315318
// active element should blur when mousing down on a draggable
@@ -361,7 +364,7 @@ test( "setting right/bottom css shouldn't cause resize", function( assert ) {
361364

362365
element.draggable();
363366

364-
TestHelpers.draggable.move( element, -50, -50 );
367+
draggableTestHelpers.move( element, -50, -50 );
365368

366369
finalOffset = element.offset();
367370
finalOffset.left += 50;
@@ -373,4 +376,4 @@ test( "setting right/bottom css shouldn't cause resize", function( assert ) {
373376
assert.close( finalOffset.top, origOffset.top, "element moves the correct horizontal distance" );
374377
});
375378

376-
})( jQuery );
379+
} );

tests/unit/draggable/draggable_events.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
/*
2-
* draggable_events.js
3-
*/
4-
(function( $ ) {
1+
define( [
2+
"jquery",
3+
"ui/draggable"
4+
], function( $ ) {
55

66
var element;
77

@@ -161,4 +161,4 @@ test( "position and offset in hash is consistent between start, drag, and stop",
161161
deepEqual( dragOffset, stopOffset, "drag offset equals stop offset" );
162162
});
163163

164-
})( jQuery );
164+
} );

tests/unit/draggable/draggable_methods.js

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
/*
2-
* draggable_methods.js
3-
*/
4-
(function( $ ) {
1+
define( [
2+
"jquery",
3+
"./draggable_test_helpers",
4+
"ui/draggable"
5+
], function( $, draggableTestHelpers ) {
56

67
var element;
78

@@ -54,19 +55,19 @@ test( "enable", function() {
5455
expect( 11 );
5556

5657
element.draggable({ disabled: true });
57-
TestHelpers.draggable.shouldNotDrag( element, ".draggable({ disabled: true })" );
58+
draggableTestHelpers.shouldNotDrag( element, ".draggable({ disabled: true })" );
5859

5960
element.draggable("enable");
60-
TestHelpers.draggable.shouldMove( element, ".draggable('enable')" );
61+
draggableTestHelpers.shouldMove( element, ".draggable('enable')" );
6162
equal( element.draggable( "option", "disabled" ), false, "disabled option getter" );
6263

6364
element.draggable("destroy");
6465
element.draggable({ disabled: true });
65-
TestHelpers.draggable.shouldNotDrag( element, ".draggable({ disabled: true })" );
66+
draggableTestHelpers.shouldNotDrag( element, ".draggable({ disabled: true })" );
6667

6768
element.draggable( "option", "disabled", false );
6869
equal(element.draggable( "option", "disabled" ), false, "disabled option setter" );
69-
TestHelpers.draggable.shouldMove( element, ".draggable('option', 'disabled', false)" );
70+
draggableTestHelpers.shouldMove( element, ".draggable('option', 'disabled', false)" );
7071

7172
var expected = element.draggable(),
7273
actual = expected.draggable("enable");
@@ -77,19 +78,19 @@ test( "disable", function( assert ) {
7778
expect( 14 );
7879

7980
element = $( "#draggable2" ).draggable({ disabled: false });
80-
TestHelpers.draggable.shouldMove( element, ".draggable({ disabled: false })" );
81+
draggableTestHelpers.shouldMove( element, ".draggable({ disabled: false })" );
8182

8283
element.draggable( "disable" );
83-
TestHelpers.draggable.shouldNotDrag( element, ".draggable('disable')" );
84+
draggableTestHelpers.shouldNotDrag( element, ".draggable('disable')" );
8485
equal( element.draggable( "option", "disabled" ), true, "disabled option getter" );
8586

8687
element.draggable( "destroy" );
8788
element.draggable({ disabled: false });
88-
TestHelpers.draggable.shouldMove( element, ".draggable({ disabled: false })" );
89+
draggableTestHelpers.shouldMove( element, ".draggable({ disabled: false })" );
8990

9091
element.draggable( "option", "disabled", true );
9192
equal( element.draggable( "option", "disabled" ), true, "disabled option setter" );
92-
TestHelpers.draggable.shouldNotDrag( element, ".draggable('option', 'disabled', true)" );
93+
draggableTestHelpers.shouldNotDrag( element, ".draggable('option', 'disabled', true)" );
9394

9495
assert.lacksClasses( element.draggable( "widget" ), "ui-state-disabled" );
9596
ok( !element.draggable( "widget" ).attr( "aria-disabled" ), "element does not get aria-disabled" );
@@ -100,4 +101,4 @@ test( "disable", function( assert ) {
100101
equal( actual, expected, "disable is chainable" );
101102
});
102103

103-
})( jQuery );
104+
} );

0 commit comments

Comments
 (0)