From 3f5f5433d5ba8bcc1644c8bbb3c1038f97d454bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski?= Date: Mon, 12 Sep 2016 18:36:48 +0200 Subject: [PATCH] Tests: Disable a whitespace-setting test in Edge 14 Working around this problem would require us to skip setting whitespace-only values except when they're valid which would be very fragile. Another option would be to set the value and see if it succeeded and then react to that. We've tried something like that in the past to be able to overwrite !important styles (see 24e5879) but it broke the CSS cascade (see https://bugs.jquery.com/ticket/14836#comment:5) and was triggering MutationObserver callbacks too often so it was reverted in PR gh-1532. Ref gh-3204 Ref gh-1532 --- test/unit/css.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/test/unit/css.js b/test/unit/css.js index ad8b808ff..2f529b691 100644 --- a/test/unit/css.js +++ b/test/unit/css.js @@ -1322,7 +1322,16 @@ QUnit.test( "Keep the last style if the new one isn't recognized by the browser el = jQuery( "
" ).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( "
" ).css( "position", "absolute" ).css( "position", " " ); - assert.equal( el.css( "position" ), "absolute", "The old style is kept when setting to a space" ); + + // 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" ); + } } ); QUnit.test( "Reset the style if set to an empty string", function( assert ) {