aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichał Gołębiowski <m.goleb@gmail.com>2017-05-15 20:37:14 +0200
committerGitHub <noreply@github.com>2017-05-15 20:37:14 +0200
commit731c501155ef139f53029c0e58409b80f0af3a0c (patch)
treecf75a0d854ec1c70a755181a66dd5af3452d590d
parentbbf334282b5c27394fc507b1778cf21850be7b93 (diff)
downloadjquery-731c501155ef139f53029c0e58409b80f0af3a0c.tar.gz
jquery-731c501155ef139f53029c0e58409b80f0af3a0c.zip
Docs:Tests: Update IE/Edge-related support comments & tests
Closes gh-3661
-rw-r--r--src/ajax.js2
-rw-r--r--src/core.js2
-rw-r--r--src/effects.js5
-rw-r--r--src/manipulation.js2
-rw-r--r--test/unit/ajax.js2
-rw-r--r--test/unit/css.js29
-rw-r--r--test/unit/dimensions.js40
-rw-r--r--test/unit/support.js5
8 files changed, 40 insertions, 47 deletions
diff --git a/src/ajax.js b/src/ajax.js
index 36f707d7d..27e533955 100644
--- a/src/ajax.js
+++ b/src/ajax.js
@@ -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 {
diff --git a/src/core.js b/src/core.js
index 83d427c78..ce43d737e 100644
--- a/src/core.js
+++ b/src/core.js
@@ -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 );
diff --git a/src/effects.js b/src/effects.js
index 879b36135..b8da7ce37 100644
--- a/src/effects.js
+++ b/src/effects.js
@@ -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
diff --git a/src/manipulation.js b/src/manipulation.js
index cd225a6db..2db1cfe3f 100644
--- a/src/manipulation.js
+++ b/src/manipulation.js
@@ -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,
diff --git a/test/unit/ajax.js b/test/unit/ajax.js
index 681aa463b..07ff40783 100644
--- a/test/unit/ajax.js
+++ b/test/unit/ajax.js
@@ -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": ""
},
diff --git a/test/unit/css.js b/test/unit/css.js
index b6bb95584..4533e4692 100644
--- a/test/unit/css.js
+++ b/test/unit/css.js
@@ -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 {
- assert.equal( el.css( "position" ), "absolute", "The old style is kept when setting to a space" );
- }
+} );
+
+// 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 ) {
diff --git a/test/unit/dimensions.js b/test/unit/dimensions.js
index cba821185..76850e9e2 100644
--- a/test/unit/dimensions.js
+++ b/test/unit/dimensions.js
@@ -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();
diff --git a/test/unit/support.js b/test/unit/support.js
index 5be781942..daa8dc664 100644
--- a/test/unit/support.js
+++ b/test/unit/support.js
@@ -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,