aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorMichał Gołębiowski <m.goleb@gmail.com>2016-02-25 01:18:55 +0100
committerMichał Gołębiowski <m.goleb@gmail.com>2016-03-08 23:26:46 +0100
commit9b086888b803db872e8906cbdbf0de458231f225 (patch)
tree084539db8297eae7f97f82ffe0da2d318f81251f /test
parentb43a3685b60b307d61f41f0c94412380ed46ab22 (diff)
downloadjquery-9b086888b803db872e8906cbdbf0de458231f225.tar.gz
jquery-9b086888b803db872e8906cbdbf0de458231f225.zip
Docs:Tests: Remove obsolete code from tests, update support comments
Support comments that were lacking the final IE/Edge version that exhibits the bug were checked & updated. Links to the Chromium bug tracker were updated. Code in tests related to unsupported browsers (like Android 2.3 in non-basic tests) has been removed. Fixes gh-2868 Closes gh-2949
Diffstat (limited to 'test')
-rw-r--r--test/unit/ajax.js20
-rw-r--r--test/unit/basic.js25
-rw-r--r--test/unit/css.js13
-rw-r--r--test/unit/dimensions.js8
-rw-r--r--test/unit/effects.js8
-rw-r--r--test/unit/event.js59
-rw-r--r--test/unit/manipulation.js32
-rw-r--r--test/unit/offset.js5
8 files changed, 44 insertions, 126 deletions
diff --git a/test/unit/ajax.js b/test/unit/ajax.js
index 63f0edd9f..949bf5f20 100644
--- a/test/unit/ajax.js
+++ b/test/unit/ajax.js
@@ -249,9 +249,8 @@ QUnit.module( "ajax", {
"Nullable": null,
"undefined": undefined
- // Support: Firefox
+ // Support: IE 9 - 11, Edge 12 - 13+
// Not all browsers allow empty-string headers
- // https://bugzilla.mozilla.org/show_bug.cgi?id=815299
//"Empty": ""
},
success: function( data, _, xhr ) {
@@ -1699,16 +1698,6 @@ if ( typeof window.ArrayBuffer === "undefined" || typeof new XMLHttpRequest().re
}
QUnit.asyncTest( "#11743 - jQuery.ajax() - script, throws exception", 1, function( assert ) {
-
- // Support: Android 2.3 only
- // Android 2.3 doesn't fire the window.onerror handler, just accept the reality there.
- if ( /android 2\.3/i.test( navigator.userAgent ) ) {
- assert.ok( true, "Test skipped, Android 2.3 doesn't fire window.onerror for " +
- "errors in dynamically included scripts" );
- QUnit.start();
- return;
- }
-
var onerror = window.onerror;
window.onerror = function() {
assert.ok( true, "Exception thrown" );
@@ -1768,13 +1757,6 @@ if ( typeof window.ArrayBuffer === "undefined" || typeof new XMLHttpRequest().re
var parsedXML = jQuery( jQuery.parseXML( "<tab title=\"Added\">blibli</tab>" ) ).find( "tab" );
ajaxXML = jQuery( ajaxXML );
try {
-
- // Android 2.3 doesn't automatically adopt nodes from foreign documents.
- // (see the comment in test/manipulation.js)
- // Support: Android 2.3
- if ( /android 2\.3/i.test( navigator.userAgent ) ) {
- parsedXML = jQuery( ajaxXML[ 0 ].adoptNode( parsedXML[ 0 ] ) );
- }
ajaxXML.find( "infowindowtab" ).append( parsedXML );
} catch ( e ) {
assert.strictEqual( e, undefined, "error" );
diff --git a/test/unit/basic.js b/test/unit/basic.js
index 8a3d19ae6..5a2f5abc2 100644
--- a/test/unit/basic.js
+++ b/test/unit/basic.js
@@ -187,10 +187,7 @@ QUnit.test( "manipulation", function( assert ) {
assert.strictEqual( elem1.text( "foo" ).text(), "foo", ".html getter/setter" );
assert.strictEqual(
-
- // Support: IE 8 only
- // IE 8 prints tag names in upper case.
- elem1.html( "<span/>" ).html().toLowerCase(),
+ elem1.html( "<span/>" ).html(),
"<span></span>",
".html getter/setter"
);
@@ -203,10 +200,7 @@ QUnit.test( "manipulation", function( assert ) {
child.before( "<b/>" );
assert.strictEqual(
-
- // Support: IE 8 only
- // IE 8 prints tag names in upper case.
- elem1.html().toLowerCase(),
+ elem1.html(),
"<div></div><b></b><span></span><a></a>",
".after/.before"
);
@@ -275,10 +269,7 @@ QUnit.test( "wrap", function( assert ) {
elem.find( "b" ).wrap( "<span>" );
assert.strictEqual(
-
- // Support: IE 8 only
- // IE 8 prints tag names in upper case.
- elem.html().toLowerCase(),
+ elem.html(),
"<a><span><b></b></span></a><a></a>",
".wrap"
);
@@ -286,10 +277,7 @@ QUnit.test( "wrap", function( assert ) {
elem.find( "span" ).wrapInner( "<em>" );
assert.strictEqual(
-
- // Support: IE 8 only
- // IE 8 prints tag names in upper case.
- elem.html().toLowerCase(),
+ elem.html(),
"<a><span><em><b></b></em></span></a><a></a>",
".wrapInner"
);
@@ -297,10 +285,7 @@ QUnit.test( "wrap", function( assert ) {
elem.find( "a" ).wrapAll( "<i>" );
assert.strictEqual(
-
- // Support: IE 8 only
- // IE 8 prints tag names in upper case.
- elem.html().toLowerCase(),
+ elem.html(),
"<i><a><span><em><b></b></em></span></a><a></a></i>",
".wrapAll"
);
diff --git a/test/unit/css.js b/test/unit/css.js
index 4bad10205..43ce6ae19 100644
--- a/test/unit/css.js
+++ b/test/unit/css.js
@@ -1088,12 +1088,7 @@ QUnit.test( "Do not append px (#9548, #12990, #2792)", function( assert ) {
$div.css( "fill-opacity", 1 );
- // Support: Android 2.3 (no support for fill-opacity)
- if ( $div.css( "fill-opacity" ) !== undefined ) {
- assert.equal( $div.css( "fill-opacity" ), 1, "Do not append px to 'fill-opacity'" );
- } else {
- assert.ok( true, "No support for fill-opacity CSS property" );
- }
+ assert.equal( $div.css( "fill-opacity" ), 1, "Do not append px to 'fill-opacity'" );
$div.css( "column-count", 1 );
if ( $div.css( "column-count" ) !== undefined ) {
@@ -1115,8 +1110,7 @@ QUnit.test( "Do not append px (#9548, #12990, #2792)", function( assert ) {
QUnit.test( "css('width') and css('height') should respect box-sizing, see #11004", function( assert ) {
assert.expect( 4 );
- // Support: Android 2.3 (-webkit-box-sizing).
- var el_dis = jQuery( "<div style='width:300px;height:300px;margin:2px;padding:2px;-webkit-box-sizing:border-box;box-sizing:border-box;'>test</div>" ),
+ var el_dis = jQuery( "<div style='width:300px;height:300px;margin:2px;padding:2px;box-sizing:border-box;'>test</div>" ),
el = el_dis.clone().appendTo( "#qunit-fixture" );
assert.equal( el.css( "width" ), el.css( "width", el.css( "width" ) ).css( "width" ), "css('width') is not respecting box-sizing, see #11004" );
@@ -1189,7 +1183,8 @@ QUnit.test( "certain css values of 'normal' should be convertable to a number, s
assert.equal( typeof el.css( "fontWeight" ), "string", ".css() returns a string" );
} );
-// only run this test in IE9
+// Support: IE 9 only
+// Only run this test in IE9
if ( document.documentMode === 9 ) {
QUnit.test( ".css('filter') returns a string in IE9, see #12537", function( assert ) {
assert.expect( 1 );
diff --git a/test/unit/dimensions.js b/test/unit/dimensions.js
index 36de3f008..31c5aa48b 100644
--- a/test/unit/dimensions.js
+++ b/test/unit/dimensions.js
@@ -295,7 +295,7 @@ QUnit.test( "child of a hidden elem (or unconnected node) has accurate inner/out
assert.equal( $divChild.outerWidth(), $divNormal.outerWidth(), "child of a hidden element outerWidth() is wrong see #9441" );
assert.equal( $divChild.outerWidth( true ), $divNormal.outerWidth( true ), "child of a hidden element outerWidth( true ) is wrong see #9300" );
- // Support: IE 10-11, Edge
+ // Support: IE 10 - 11, Edge 12 - 13+
// Child height is not always decimal
assert.equal( $divChild.height().toFixed( 3 ), $divNormal.height().toFixed( 3 ), "child of a hidden element height() is wrong see #9441" );
assert.equal( $divChild.innerHeight().toFixed( 3 ), $divNormal.innerHeight().toFixed( 3 ), "child of a hidden element innerHeight() is wrong see #9441" );
@@ -308,7 +308,7 @@ QUnit.test( "child of a hidden elem (or unconnected node) has accurate inner/out
assert.equal( $divUnconnected.outerWidth(), $divNormal.outerWidth(), "unconnected element outerWidth() is wrong see #9441" );
assert.equal( $divUnconnected.outerWidth( true ), $divNormal.outerWidth( true ), "unconnected element outerWidth( true ) is wrong see #9300" );
- // Support: IE 10-11, Edge
+ // Support: IE 10 - 11, Edge 12 - 13+
// Child height is not always decimal
assert.equal( $divUnconnected.height().toFixed( 3 ), $divNormal.height().toFixed( 3 ), "unconnected element height() is wrong see #9441" );
assert.equal( $divUnconnected.innerHeight().toFixed( 3 ), $divNormal.innerHeight().toFixed( 3 ), "unconnected element innerHeight() is wrong see #9441" );
@@ -372,7 +372,7 @@ QUnit.test( "box-sizing:border-box child of a hidden elem (or unconnected node)
assert.equal( $divChild.outerWidth(), $divNormal.outerWidth(), "child of a hidden element outerWidth() is wrong see #10413" );
assert.equal( $divChild.outerWidth( true ), $divNormal.outerWidth( true ), "child of a hidden element outerWidth( true ) is wrong see #10413" );
- // Support: IE 10-11, Edge
+ // Support: IE 10 - 11, Edge 12 - 13+
// Child height is not always decimal
assert.equal( $divChild.height().toFixed( 3 ), $divNormal.height().toFixed( 3 ), "child of a hidden element height() is wrong see #10413" );
assert.equal( $divChild.innerHeight().toFixed( 3 ), $divNormal.innerHeight().toFixed( 3 ), "child of a hidden element innerHeight() is wrong see #10413" );
@@ -385,7 +385,7 @@ QUnit.test( "box-sizing:border-box child of a hidden elem (or unconnected node)
assert.equal( $divUnconnected.outerWidth(), $divNormal.outerWidth(), "unconnected element outerWidth() is wrong see #10413" );
assert.equal( $divUnconnected.outerWidth( true ), $divNormal.outerWidth( true ), "unconnected element outerWidth( true ) is wrong see #10413" );
- // Support: IE 10-11, Edge
+ // Support: IE 10 - 11, Edge 12 - 13+
// Child height is not always decimal
assert.equal( $divUnconnected.height().toFixed( 3 ), $divNormal.height().toFixed( 3 ), "unconnected element height() is wrong see #10413" );
assert.equal( $divUnconnected.innerHeight().toFixed( 3 ), $divNormal.innerHeight().toFixed( 3 ), "unconnected element innerHeight() is wrong see #10413" );
diff --git a/test/unit/effects.js b/test/unit/effects.js
index ae43674bd..2f0ac9334 100644
--- a/test/unit/effects.js
+++ b/test/unit/effects.js
@@ -1389,13 +1389,7 @@ QUnit.test( "Do not append px to 'fill-opacity' #9548", function( assert ) {
var $div = jQuery( "<div>" ).appendTo( "#qunit-fixture" );
$div.css( "fill-opacity", 0 ).animate( { "fill-opacity": 1.0 }, 0, function() {
-
- // Support: Android 2.3 (no support for fill-opacity)
- if ( jQuery( this ).css( "fill-opacity" ) ) {
- assert.equal( jQuery( this ).css( "fill-opacity" ), 1, "Do not append px to 'fill-opacity'" );
- } else {
- assert.ok( true, "No support for fill-opacity CSS property" );
- }
+ assert.equal( jQuery( this ).css( "fill-opacity" ), 1, "Do not append px to 'fill-opacity'" );
$div.remove();
} );
} );
diff --git a/test/unit/event.js b/test/unit/event.js
index fd7d86f7f..63b367ea8 100644
--- a/test/unit/event.js
+++ b/test/unit/event.js
@@ -431,20 +431,13 @@ QUnit.test( "on bubbling, isDefaultPrevented, stopImmediatePropagation", functio
$anchor2.off( "click" );
$main.off( "click", "**" );
- // Android 2.3 doesn't support stopImmediatePropagation; jQuery fallbacks to stopPropagation
- // in such a case.
- // Support: Android 2.3
- if ( /android 2\.3/i.test( navigator.userAgent ) ) {
- assert.ok( true, "Android 2.3, skipping native stopImmediatePropagation check" );
- } else {
- $anchor2.on( "click", function( e ) {
- e.stopImmediatePropagation();
- assert.ok( true, "anchor was clicked and prop stopped" );
- } );
- $anchor2[ 0 ].addEventListener( "click", neverCallMe, false );
- fakeClick( $anchor2 );
- $anchor2[ 0 ].removeEventListener( "click", neverCallMe );
- }
+ $anchor2.on( "click", function( e ) {
+ e.stopImmediatePropagation();
+ assert.ok( true, "anchor was clicked and prop stopped" );
+ } );
+ $anchor2[ 0 ].addEventListener( "click", neverCallMe, false );
+ fakeClick( $anchor2 );
+ $anchor2[ 0 ].removeEventListener( "click", neverCallMe );
} );
QUnit.test( "on(), iframes", function( assert ) {
@@ -1389,29 +1382,26 @@ QUnit.test( "Submit event can be stopped (#11049)", function( assert ) {
form.remove();
} );
-// Test beforeunload event only if it supported.
-// Support: iOS 7+, Android<4.0
-// iOS & old Android have the window.onbeforeunload field but don't support the beforeunload
+// Support: iOS 7-9+
+// iOS has the window.onbeforeunload field but doesn't support the beforeunload
// handler making it impossible to feature-detect the support.
-if ( window.onbeforeunload === null &&
- !/(ipad|iphone|ipod|android 2\.3)/i.test( navigator.userAgent ) ) {
- QUnit.test( "on(beforeunload)", 1, function( assert ) {
- var iframe = jQuery( jQuery.parseHTML( "<iframe src='data/event/onbeforeunload.html'><iframe>" ) );
- var done = assert.async();
+QUnit[ /(ipad|iphone|ipod)/i.test( navigator.userAgent ) ? "skip" : "test" ](
+ "on(beforeunload)", 1, function( assert ) {
+ var iframe = jQuery( jQuery.parseHTML( "<iframe src='data/event/onbeforeunload.html'><iframe>" ) );
+ var done = assert.async();
- window.onmessage = function( event ) {
- var payload = JSON.parse( event.data );
+ window.onmessage = function( event ) {
+ var payload = JSON.parse( event.data );
- assert.ok( payload.event, "beforeunload", "beforeunload event" );
+ assert.ok( payload.event, "beforeunload", "beforeunload event" );
- iframe.remove();
- window.onmessage = null;
- done();
- };
+ iframe.remove();
+ window.onmessage = null;
+ done();
+ };
- iframe.appendTo( "#qunit-fixture" );
- } );
-}
+ iframe.appendTo( "#qunit-fixture" );
+} );
QUnit.test( "jQuery.Event( type, props )", function( assert ) {
@@ -2406,7 +2396,8 @@ QUnit.test( "event object properties on natively-triggered event", function( ass
$link = jQuery( link ),
evt = document.createEvent( "MouseEvents" );
- // IE9+ requires element to be in the body before it will dispatch
+ // Support: IE 9-11 only
+ // IE requires element to be in the body before it will dispatch
$link.appendTo( "body" ).on( "click", function( e ) {
// Not trying to assert specific values here, just ensure the property exists
@@ -2876,7 +2867,7 @@ QUnit[ jQuery.fn.click ? "test" : "skip" ]( "Event aliases", function( assert )
} );
} );
-// Support: IE9 (remove when IE9 is no longer supported)
+// Support: IE9 only
// https://msdn.microsoft.com/en-us/library/hh801223(v=vs.85).aspx
QUnit.test( "VML with special event handlers (trac-7071)", function( assert ) {
assert.expect( 1 );
diff --git a/test/unit/manipulation.js b/test/unit/manipulation.js
index fb63e44fc..d439ba11c 100644
--- a/test/unit/manipulation.js
+++ b/test/unit/manipulation.js
@@ -406,8 +406,7 @@ QUnit.test( "XML DOM manipulation (#9960)", function( assert ) {
assert.expect( 5 );
- var scxml1Adopted,
- xmlDoc1 = jQuery.parseXML( "<scxml xmlns='http://www.w3.org/2005/07/scxml' version='1.0'><state x='100' y='100' initial='actions' id='provisioning'></state><state x='100' y='100' id='error'></state><state x='100' y='100' id='finished' final='true'></state></scxml>" ),
+ var xmlDoc1 = jQuery.parseXML( "<scxml xmlns='http://www.w3.org/2005/07/scxml' version='1.0'><state x='100' y='100' initial='actions' id='provisioning'></state><state x='100' y='100' id='error'></state><state x='100' y='100' id='finished' final='true'></state></scxml>" ),
xmlDoc2 = jQuery.parseXML( "<scxml xmlns='http://www.w3.org/2005/07/scxml' version='1.0'><state id='provisioning3'></state></scxml>" ),
xml1 = jQuery( xmlDoc1 ),
xml2 = jQuery( xmlDoc2 ),
@@ -415,15 +414,6 @@ QUnit.test( "XML DOM manipulation (#9960)", function( assert ) {
scxml2 = jQuery( "scxml", xml2 ),
state = scxml2.find( "state" );
- // Android 2.3 doesn't automatically adopt nodes from foreign documents.
- // Although technically this is compliant behavior, no other browser
- // (including newer Android Browsers) behave in this way so do the adopting
- // just for Android 2.3.
- // Support: Android 2.3
- if ( /android 2\.3/i.test( navigator.userAgent ) ) {
- state = jQuery( xmlDoc1.adoptNode( state[ 0 ] ) );
- }
-
scxml1.append( state );
assert.strictEqual( scxml1[ 0 ].lastChild, state[ 0 ], "append" );
@@ -436,13 +426,7 @@ QUnit.test( "XML DOM manipulation (#9960)", function( assert ) {
scxml1.find( "#provisioning" ).before( state );
assert.strictEqual( scxml1[ 0 ].firstChild, state[ 0 ], "before" );
- // Support: Android 2.3
- if ( /android 2\.3/i.test( navigator.userAgent ) ) {
- scxml1Adopted = jQuery( xmlDoc2.adoptNode( scxml1[ 0 ] ) );
- scxml2.replaceWith( scxml1Adopted );
- } else {
- scxml2.replaceWith( scxml1 );
- }
+ scxml2.replaceWith( scxml1 );
assert.deepEqual( jQuery( "state", xml2 ).get(), scxml1.find( "state" ).get(), "replaceWith" );
} );
@@ -2377,18 +2361,6 @@ QUnit.test( "Ensure oldIE creates a new set on appendTo (#8894)", function( asse
} );
QUnit.asyncTest( "html() - script exceptions bubble (#11743)", 2, function( assert ) {
-
- // Support: Android 2.3 only
- // Android 2.3 doesn't fire the window.onerror handler, just accept the reality there.
- if ( /android 2\.3/i.test( navigator.userAgent ) ) {
- assert.ok( true, "Test skipped, Android 2.3 doesn't fire window.onerror for " +
- "errors in dynamically included scripts" );
- assert.ok( true, "Test skipped, Android 2.3 doesn't fire window.onerror for " +
- "errors in dynamically included scripts" );
- QUnit.start();
- return;
- }
-
var onerror = window.onerror;
setTimeout( function() {
diff --git a/test/unit/offset.js b/test/unit/offset.js
index 7d40bfcd1..ba40e11f1 100644
--- a/test/unit/offset.js
+++ b/test/unit/offset.js
@@ -553,11 +553,10 @@ QUnit.test( "iframe scrollTop/Left (see gh-1945)", function( assert ) {
var ifDoc = jQuery( "#iframe" )[ 0 ].contentDocument;
- // Mobile Safari and Android 2.3 resize the iframe by its content
- // meaning it's not possible to scroll the iframe only its parent element.
+ // Mobile Safari resize the iframe by its content meaning it's not possible to scroll
+ // the iframe but only its parent element.
// It seems (not confirmed) in android 4.0 it's not possible to scroll iframes from the code.
if ( /iphone os/i.test( navigator.userAgent ) ||
- /android 2\.3/i.test( navigator.userAgent ) ||
/android 4\.0/i.test( navigator.userAgent ) ) {
assert.equal( true, true, "Can't scroll iframes in this environment" );
assert.equal( true, true, "Can't scroll iframes in this environment" );