mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Docs:Tests: Update IE/Edge-related support comments & tests
Closes gh-3661
This commit is contained in:
parent
bbf334282b
commit
731c501155
@ -538,7 +538,7 @@ jQuery.extend( {
|
||||
if ( s.crossDomain == null ) {
|
||||
urlAnchor = document.createElement( "a" );
|
||||
|
||||
// Support: IE <=8 - 11, Edge 12 - 13
|
||||
// Support: IE <=8 - 11, Edge 12 - 15
|
||||
// IE throws exception on accessing the href property if url is malformed,
|
||||
// e.g. http://example.com:80x/
|
||||
try {
|
||||
|
@ -288,7 +288,7 @@ jQuery.extend( {
|
||||
},
|
||||
|
||||
// Convert dashed to camelCase; used by the css and data modules
|
||||
// Support: IE <=9 - 11, Edge 12 - 13
|
||||
// Support: IE <=9 - 11, Edge 12 - 15
|
||||
// Microsoft forgot to hump their vendor prefix (#9572)
|
||||
camelCase: function( string ) {
|
||||
return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
|
||||
|
5
src/effects.js
vendored
5
src/effects.js
vendored
@ -148,9 +148,10 @@ function defaultPrefilter( elem, props, opts ) {
|
||||
// Restrict "overflow" and "display" styles during box animations
|
||||
if ( isBox && elem.nodeType === 1 ) {
|
||||
|
||||
// Support: IE <=9 - 11, Edge 12 - 13
|
||||
// Support: IE <=9 - 11, Edge 12 - 15
|
||||
// Record all 3 overflow attributes because IE does not infer the shorthand
|
||||
// from identically-valued overflowX and overflowY
|
||||
// from identically-valued overflowX and overflowY and Edge just mirrors
|
||||
// the overflowX value there.
|
||||
opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
|
||||
|
||||
// Identify a display type, preferring old show/hide data over the CSS cascade
|
||||
|
@ -38,7 +38,7 @@ var
|
||||
|
||||
/* eslint-enable */
|
||||
|
||||
// Support: IE <=10 - 11, Edge 12 - 13
|
||||
// Support: IE <=10 - 11, Edge 12 - 13 only
|
||||
// In IE/Edge using regex groups here causes severe slowdowns.
|
||||
// See https://connect.microsoft.com/IE/feedback/details/1736512/
|
||||
rnoInnerhtml = /<script|<style|<link/i,
|
||||
|
@ -249,7 +249,7 @@ QUnit.module( "ajax", {
|
||||
"Nullable": null,
|
||||
"undefined": undefined
|
||||
|
||||
// Support: IE 9 - 11, Edge 12 - 13+
|
||||
// Support: IE 9 - 11, Edge 12 - 14 only
|
||||
// Not all browsers allow empty-string headers
|
||||
//"Empty": ""
|
||||
},
|
||||
|
@ -1316,22 +1316,23 @@ QUnit[ jQuery.find.compile ? "test" : "skip" ]( ":visible/:hidden selectors", fu
|
||||
} );
|
||||
|
||||
QUnit.test( "Keep the last style if the new one isn't recognized by the browser (#14836)", function( assert ) {
|
||||
assert.expect( 2 );
|
||||
assert.expect( 1 );
|
||||
|
||||
var el;
|
||||
el = jQuery( "<div></div>" ).css( "position", "absolute" ).css( "position", "fake value" );
|
||||
var el = jQuery( "<div></div>" ).css( "position", "absolute" ).css( "position", "fake value" );
|
||||
assert.equal( el.css( "position" ), "absolute", "The old style is kept when setting an unrecognized value" );
|
||||
el = jQuery( "<div></div>" ).css( "position", "absolute" ).css( "position", " " );
|
||||
} );
|
||||
|
||||
// Support: Edge 14
|
||||
// Edge collapses whitespace-only values when setting a style property and
|
||||
// there is no easy way for us to work around it. Just skip the test there
|
||||
// and hope for the better future.
|
||||
if ( /edge\//i.test( navigator.userAgent ) ) {
|
||||
assert.ok( true, "Skipped (Edge 14 handles whitespace-only values incorrectly)" );
|
||||
} else {
|
||||
// Support: Edge 14 - 15
|
||||
// Edge collapses whitespace-only values when setting a style property and
|
||||
// there is no easy way for us to work around it. Just skip the test there
|
||||
// and hope for the better future.
|
||||
QUnit[ /\bedge\//i.test( navigator.userAgent ) ? "skip" : "test" ](
|
||||
"Keep the last style if the new one is a non-empty whitespace (gh-3204)",
|
||||
function( assert ) {
|
||||
assert.expect( 1 );
|
||||
|
||||
var el = jQuery( "<div></div>" ).css( "position", "absolute" ).css( "position", " " );
|
||||
assert.equal( el.css( "position" ), "absolute", "The old style is kept when setting to a space" );
|
||||
}
|
||||
} );
|
||||
|
||||
QUnit.test( "Reset the style if set to an empty string", function( assert ) {
|
||||
|
@ -295,12 +295,10 @@ 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 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" );
|
||||
assert.equal( $divChild.outerHeight().toFixed( 3 ), $divNormal.outerHeight().toFixed( 3 ), "child of a hidden element outerHeight() is wrong see #9441" );
|
||||
assert.equal( $divChild.outerHeight( true ).toFixed( 3 ), $divNormal.outerHeight( true ).toFixed( 3 ), "child of a hidden element outerHeight( true ) is wrong see #9300" );
|
||||
assert.equal( $divChild.height(), $divNormal.height(), "child of a hidden element height() is wrong see #9441" );
|
||||
assert.equal( $divChild.innerHeight(), $divNormal.innerHeight(), "child of a hidden element innerHeight() is wrong see #9441" );
|
||||
assert.equal( $divChild.outerHeight(), $divNormal.outerHeight(), "child of a hidden element outerHeight() is wrong see #9441" );
|
||||
assert.equal( $divChild.outerHeight( true ), $divNormal.outerHeight( true ), "child of a hidden element outerHeight( true ) is wrong see #9300" );
|
||||
|
||||
// tests that child div of an unconnected div works the same as a normal div
|
||||
assert.equal( $divUnconnected.width(), $divNormal.width(), "unconnected element width() is wrong see #9441" );
|
||||
@ -308,12 +306,10 @@ 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 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" );
|
||||
assert.equal( $divUnconnected.outerHeight().toFixed( 3 ), $divNormal.outerHeight().toFixed( 3 ), "unconnected element outerHeight() is wrong see #9441" );
|
||||
assert.equal( $divUnconnected.outerHeight( true ).toFixed( 3 ), $divNormal.outerHeight( true ).toFixed( 3 ), "unconnected element outerHeight( true ) is wrong see #9300" );
|
||||
assert.equal( $divUnconnected.height(), $divNormal.height(), "unconnected element height() is wrong see #9441" );
|
||||
assert.equal( $divUnconnected.innerHeight(), $divNormal.innerHeight(), "unconnected element innerHeight() is wrong see #9441" );
|
||||
assert.equal( $divUnconnected.outerHeight(), $divNormal.outerHeight(), "unconnected element outerHeight() is wrong see #9441" );
|
||||
assert.equal( $divUnconnected.outerHeight( true ), $divNormal.outerHeight( true ), "unconnected element outerHeight( true ) is wrong see #9300" );
|
||||
|
||||
// teardown html
|
||||
$divHiddenParent.remove();
|
||||
@ -372,12 +368,10 @@ 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 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" );
|
||||
assert.equal( $divChild.outerHeight().toFixed( 3 ), $divNormal.outerHeight().toFixed( 3 ), "child of a hidden element outerHeight() is wrong see #10413" );
|
||||
assert.equal( $divChild.outerHeight( true ).toFixed( 3 ), $divNormal.outerHeight( true ).toFixed( 3 ), "child of a hidden element outerHeight( true ) is wrong see #10413" );
|
||||
assert.equal( $divChild.height(), $divNormal.height(), "child of a hidden element height() is wrong see #10413" );
|
||||
assert.equal( $divChild.innerHeight(), $divNormal.innerHeight(), "child of a hidden element innerHeight() is wrong see #10413" );
|
||||
assert.equal( $divChild.outerHeight(), $divNormal.outerHeight(), "child of a hidden element outerHeight() is wrong see #10413" );
|
||||
assert.equal( $divChild.outerHeight( true ), $divNormal.outerHeight( true ), "child of a hidden element outerHeight( true ) is wrong see #10413" );
|
||||
|
||||
// tests that child div of an unconnected div works the same as a normal div
|
||||
assert.equal( $divUnconnected.width(), $divNormal.width(), "unconnected element width() is wrong see #10413" );
|
||||
@ -385,12 +379,10 @@ 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 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" );
|
||||
assert.equal( $divUnconnected.outerHeight().toFixed( 3 ), $divNormal.outerHeight().toFixed( 3 ), "unconnected element outerHeight() is wrong see #10413" );
|
||||
assert.equal( $divUnconnected.outerHeight( true ).toFixed( 3 ), $divNormal.outerHeight( true ).toFixed( 3 ), "unconnected element outerHeight( true ) is wrong see #10413" );
|
||||
assert.equal( $divUnconnected.height(), $divNormal.height(), "unconnected element height() is wrong see #10413" );
|
||||
assert.equal( $divUnconnected.innerHeight(), $divNormal.innerHeight(), "unconnected element innerHeight() is wrong see #10413" );
|
||||
assert.equal( $divUnconnected.outerHeight(), $divNormal.outerHeight(), "unconnected element outerHeight() is wrong see #10413" );
|
||||
assert.equal( $divUnconnected.outerHeight( true ), $divNormal.outerHeight( true ), "unconnected element outerHeight( true ) is wrong see #10413" );
|
||||
|
||||
// teardown html
|
||||
$divHiddenParent.remove();
|
||||
|
@ -55,17 +55,16 @@ testIframe(
|
||||
);
|
||||
|
||||
( function() {
|
||||
var expected, version,
|
||||
var expected,
|
||||
userAgent = window.navigator.userAgent;
|
||||
|
||||
if ( /edge\//i.test( userAgent ) ) {
|
||||
version = userAgent.match( /edge\/(\d+)/i )[ 1 ];
|
||||
expected = {
|
||||
"ajax": true,
|
||||
"boxSizingReliable": true,
|
||||
"checkClone": true,
|
||||
"checkOn": true,
|
||||
"clearCloneStyle": version >= 13,
|
||||
"clearCloneStyle": true,
|
||||
"cors": true,
|
||||
"createHTMLDocument": true,
|
||||
"focusin": false,
|
||||
|
Loading…
Reference in New Issue
Block a user