From 1a9c9b079177a1d6420efb876e8e66bf1fb4cbe2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski?= Date: Thu, 7 Jan 2016 23:14:55 +0100 Subject: [PATCH] Tests: Disable/relax a few tests failing in Android 2.3 (cherry-picked from 704de8180f220afa1efd7bd65e9aeb9007a4f238) Fixes gh-1785 --- test/unit/manipulation.js | 12 +++++++++--- test/unit/offset.js | 20 ++++++++++++++++++-- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/test/unit/manipulation.js b/test/unit/manipulation.js index e5c65e32a..acf71635a 100644 --- a/test/unit/manipulation.js +++ b/test/unit/manipulation.js @@ -302,9 +302,15 @@ function testAppend( valueObj, assert ) { assert.equal( jQuery( "
" ).append( valueObj( "option" ) )[ 0 ].childNodes.length, 2, "HTML-string with leading text should be processed correctly" ); } -QUnit.test( "append(String|Element|Array|jQuery)", function( assert ) { - testAppend( manipulationBareObj, assert ); -} ); +// Support: Android 2.3 only +// Android 2.3 fails a lot of these tests and we accept it. +// See https://github.com/jquery/jquery/issues/1785 +QUnit[ /android 2\.3/i.test( navigator.userAgent ) ? "skip" : "test" ]( + "append(String|Element|Array|jQuery)", + function( assert ) { + testAppend( manipulationBareObj, assert ); + } +); QUnit.test( "append(Function)", function( assert ) { testAppend( manipulationFunctionReturningObj, assert ); diff --git a/test/unit/offset.js b/test/unit/offset.js index 11b4feb97..317f41053 100644 --- a/test/unit/offset.js +++ b/test/unit/offset.js @@ -458,10 +458,26 @@ testIframe( "offset/scroll", "scroll", function( $, win, doc, assert ) { // test jQuery using parent window/document // jQuery reference here is in the iframe + // Support: Android 2.3 only + // Android 2.3 is sometimes off by a few pixels. window.scrollTo( 0, 0 ); - assert.equal( $( window ).scrollTop(), 0, "jQuery(window).scrollTop() other window" ); + if ( /android 2\.3/i.test( navigator.userAgent ) ) { + assert.ok( + Math.abs( $( window ).scrollTop() ) < 5, + "jQuery(window).scrollTop() other window" + ); + } else { + assert.equal( $( window ).scrollTop(), 0, "jQuery(window).scrollTop() other window" ); + } assert.equal( $( window ).scrollLeft(), 0, "jQuery(window).scrollLeft() other window" ); - assert.equal( $( document ).scrollTop(), 0, "jQuery(window).scrollTop() other document" ); + if ( /android 2\.3/i.test( navigator.userAgent ) ) { + assert.ok( + Math.abs( $( window ).scrollTop() ) < 5, + "jQuery(window).scrollTop() other document" + ); + } else { + assert.equal( $( document ).scrollTop(), 0, "jQuery(window).scrollTop() other document" ); + } assert.equal( $( document ).scrollLeft(), 0, "jQuery(window).scrollLeft() other document" ); // Tests scrollTop/Left with empty jquery objects -- 2.39.5