From 1a9f8d9bb17cceb733cc83f106c96e424acd14f9 Mon Sep 17 00:00:00 2001 From: Timmy Willison Date: Wed, 11 Sep 2013 17:23:17 -0500 Subject: [PATCH] Fix more support tests (support.input should only be false in IE8 and checkClone as it is now used is fine in IE) --- src/attributes/support.js | 3 ++- src/support.js | 15 ++++----------- test/unit/support.js | 10 ++++++---- 3 files changed, 12 insertions(+), 16 deletions(-) diff --git a/src/attributes/support.js b/src/attributes/support.js index 5d4be1aa4..aeeb3af2f 100644 --- a/src/attributes/support.js +++ b/src/attributes/support.js @@ -44,8 +44,9 @@ define([ select.disabled = true; support.optDisabled = !opt.disabled; + // Support: IE8 only // Check if we can trust getAttribute("value") - input = document.createElement("input"); + input = document.createElement( "input" ); input.setAttribute( "value", "" ); support.input = input.getAttribute( "value" ) === ""; diff --git a/src/support.js b/src/support.js index 00fd82928..3add264bf 100644 --- a/src/support.js +++ b/src/support.js @@ -23,11 +23,7 @@ jQuery(function() { // We need to execute this one support test ASAP because we need to know // if body.style.zoom needs to be set. - var container, - div = document.createElement( "div" ), - divReset = - "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;" + - "display:block;padding:0;margin:0;border:0", + var container, div, body = document.getElementsByTagName("body")[0]; if ( !body ) { @@ -36,12 +32,10 @@ jQuery(function() { } // Setup - div.setAttribute( "className", "t" ); - div.innerHTML = "
a"; - container = document.createElement( "div" ); container.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px"; + div = document.createElement( "div" ); body.appendChild( container ).appendChild( div ); if ( typeof div.style.zoom !== strundefined ) { @@ -49,10 +43,9 @@ jQuery(function() { // Check if natively block-level elements act like inline-block // elements when setting their display to 'inline' and giving // them layout - div.innerHTML = ""; - div.style.cssText = divReset + "width:1px;padding:1px;display:inline;zoom:1"; + div.style.cssText = "width:1px;padding:1px;display:inline;zoom:1"; - if ( (support.inlineBlockNeedsLayout = div.offsetWidth === 3) ) { + if ( (support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 )) ) { // Prevent IE 6 from affecting layout for positioned elements #11048 // Prevent IE from shrinking the body in IE 7 mode #12869 // Support: IE<8 diff --git a/test/unit/support.js b/test/unit/support.js index 6b5b0baa5..a37f2c022 100644 --- a/test/unit/support.js +++ b/test/unit/support.js @@ -26,6 +26,7 @@ test( "zoom of doom (#13089)", function() { ok( !document.body.style.zoom, "No zoom added to the body" ); } }); + if ( jQuery.css ) { testIframeWithCallback( "body background is not lost if set prior to loading jQuery (#9239)", "support/bodyBackground.html", function( color, support ) { expect( 2 ); @@ -256,7 +257,7 @@ testIframeWithCallback( "box-sizing does not affect jQuery.support.shrinkWrapBlo "boxSizing": false, "boxSizingReliable": true, "changeBubbles": false, - "checkClone": false, + "checkClone": true, "checkOn": true, "clearCloneStyle": true, "cors": false, @@ -269,7 +270,7 @@ testIframeWithCallback( "box-sizing does not affect jQuery.support.shrinkWrapBlo "html5Clone": false, "htmlSerialize": false, "inlineBlockNeedsLayout": true, - "input": false, + "input": true, "leadingWhitespace": false, "noCloneChecked": false, "noCloneEvent": false, @@ -293,7 +294,7 @@ testIframeWithCallback( "box-sizing does not affect jQuery.support.shrinkWrapBlo "boxSizing": false, "boxSizingReliable": true, "changeBubbles": false, - "checkClone": false, + "checkClone": true, "checkOn": true, "clearCloneStyle": true, "cors": false, @@ -306,7 +307,7 @@ testIframeWithCallback( "box-sizing does not affect jQuery.support.shrinkWrapBlo "html5Clone": false, "htmlSerialize": false, "inlineBlockNeedsLayout": true, - "input": false, + "input": true, "leadingWhitespace": false, "noCloneChecked": false, "noCloneEvent": false, @@ -380,6 +381,7 @@ testIframeWithCallback( "box-sizing does not affect jQuery.support.shrinkWrapBlo "html5Clone": true, "htmlSerialize": true, "inlineBlockNeedsLayout": false, + "input": true, "leadingWhitespace": true, "noCloneChecked": true, "noCloneEvent": true, -- 2.39.5