Skip to content

Commit 3c1a3ca

Browse files
committed
Draggable Tests: fix old Safari and old Opera tests with jQuery < 1.8 tests by accounting for a bug in $.contains on disconnected Elements.
1 parent 6a3bf60 commit 3c1a3ca

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

tests/unit/draggable/draggable_options.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1289,9 +1289,15 @@ test( "#8459: element can snap to an element that was removed during drag", func
12891289
moves: 1
12901290
});
12911291

1292-
// TODO: fix IE8 testswarm IFRAME positioning bug so closeEnough can be turned back to equal
1293-
closeEnough( element.offset().left, newX, 1, "doesn't snap to a removed element" );
1294-
closeEnough( element.offset().top, newY, 1, "doesn't snap to a removed element" );
1292+
// Support: Opera 12.10, Safari 5.1, jQuery <1.8
1293+
if ( TestHelpers.draggable.unreliableContains ) {
1294+
ok( true, "Opera <12.14 and Safari <6.0 report wrong values for $.contains in jQuery < 1.8" );
1295+
ok( true, "Opera <12.14 and Safari <6.0 report wrong values for $.contains in jQuery < 1.8" );
1296+
} else {
1297+
// TODO: fix IE8 testswarm IFRAME positioning bug so closeEnough can be turned back to equal
1298+
closeEnough( element.offset().left, newX, 1, "doesn't snap to a removed element" );
1299+
closeEnough( element.offset().top, newY, 1, "doesn't snap to a removed element" );
1300+
}
12951301
});
12961302

12971303
test( "#8165: Snapping large rectangles to small rectangles doesn't snap properly", function() {

tests/unit/draggable/draggable_test_helpers.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
TestHelpers.draggable = {
22
// todo: remove the unreliable offset hacks
33
unreliableOffset: $.ui.ie && ( !document.documentMode || document.documentMode < 8 ) ? 2 : 0,
4+
// Support: Opera 12.10, Safari 5.1, jQuery <1.8
5+
unreliableContains: function(){
6+
var element = $( "<div>" );
7+
return $.contains( element[ 0 ].ownerDocument, element[ 0 ] );
8+
}(),
49
testDrag: function(el, handle, dx, dy, expectedDX, expectedDY, msg) {
510
var offsetAfter, actual, expected,
611
offsetBefore = el.offset();

0 commit comments

Comments
 (0)