]> source.dussan.org Git - jquery-ui.git/commitdiff
Draggable Tests: fix old Safari and old Opera tests with jQuery < 1.8 tests by accoun...
authorMike Sherov <mike.sherov@gmail.com>
Sun, 7 Apr 2013 16:10:59 +0000 (12:10 -0400)
committerMike Sherov <mike.sherov@gmail.com>
Sun, 7 Apr 2013 16:10:59 +0000 (12:10 -0400)
tests/unit/draggable/draggable_options.js
tests/unit/draggable/draggable_test_helpers.js

index 6a0cd593b3aae1419863cb02dfbbd03c55529879..635d318e760e9591dfbf1536110556f8611064a6 100644 (file)
@@ -1289,9 +1289,15 @@ test( "#8459: element can snap to an element that was removed during drag", func
                moves: 1
        });
 
-       // TODO: fix IE8 testswarm IFRAME positioning bug so closeEnough can be turned back to equal
-       closeEnough( element.offset().left, newX, 1, "doesn't snap to a removed element" );
-       closeEnough( element.offset().top, newY, 1, "doesn't snap to a removed element" );
+       // Support: Opera 12.10, Safari 5.1, jQuery <1.8
+       if ( TestHelpers.draggable.unreliableContains ) {
+               ok( true, "Opera <12.14 and Safari <6.0 report wrong values for $.contains in jQuery < 1.8" );
+               ok( true, "Opera <12.14 and Safari <6.0 report wrong values for $.contains in jQuery < 1.8" );
+       } else {
+               // TODO: fix IE8 testswarm IFRAME positioning bug so closeEnough can be turned back to equal
+               closeEnough( element.offset().left, newX, 1, "doesn't snap to a removed element" );
+               closeEnough( element.offset().top, newY, 1, "doesn't snap to a removed element" );
+       }
 });
 
 test( "#8165: Snapping large rectangles to small rectangles doesn't snap properly", function() {
index 44e37c55961251603d846afed9a07804a6e01e85..24617560484d2c63b8c2b3ef5f1513d56a4d155a 100644 (file)
@@ -1,6 +1,11 @@
 TestHelpers.draggable = {
        // todo: remove the unreliable offset hacks
        unreliableOffset: $.ui.ie && ( !document.documentMode || document.documentMode < 8 ) ? 2 : 0,
+       // Support: Opera 12.10, Safari 5.1, jQuery <1.8
+       unreliableContains: function(){
+               var element = $( "<div>" );
+               return $.contains( element[ 0 ].ownerDocument, element[ 0 ] );
+       }(),
        testDrag: function(el, handle, dx, dy, expectedDX, expectedDY, msg) {
                var offsetAfter, actual, expected,
                        offsetBefore = el.offset();