diff options
author | timmywil <timmywillisn@gmail.com> | 2011-09-28 11:30:38 -0400 |
---|---|---|
committer | timmywil <timmywillisn@gmail.com> | 2011-09-28 11:30:38 -0400 |
commit | 3661835101865b08fae20df7458ba03551b86bc3 (patch) | |
tree | 132942cf9b847f9a038196b35d69f7365267de9d | |
parent | 649823de18564774a5812ae04083606447bd2b93 (diff) | |
download | jquery-3661835101865b08fae20df7458ba03551b86bc3.tar.gz jquery-3661835101865b08fae20df7458ba03551b86bc3.zip |
Fixes IE7 test suite. Keep the testElement attached and set necessary styles on it to fix the offset with margin test.
-rw-r--r-- | src/support.js | 9 | ||||
-rw-r--r-- | test/unit/offset.js | 4 | ||||
-rw-r--r-- | test/unit/support.js | 2 |
3 files changed, 9 insertions, 6 deletions
diff --git a/src/support.js b/src/support.js index 6a77e449c..dc93164a4 100644 --- a/src/support.js +++ b/src/support.js @@ -230,7 +230,6 @@ jQuery.support = (function() { // Remove the body element we added testElement.innerHTML = ""; - testElementParent.removeChild( testElement ); // Technique from Juriy Zaytsev // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/ @@ -255,12 +254,15 @@ jQuery.support = (function() { } // Determine fixed-position support early + testElement.style.position = "static"; + testElement.style.top = "0px"; + testElement.style.marginTop = "1px"; offsetSupport = (function( body, container ) { var outer, inner, table, td, supports, bodyMarginTop = parseFloat( body.style.marginTop ) || 0, - ptlm = "position:absolute;top:0;left:0;width:1px;height:1px;", - style = "style='" + ptlm + "margin:0;border:5px solid #000;padding:0;'", + ptlm = "position:absolute;top:0;left:0;width:1px;height:1px;margin:0;", + style = "style='" + ptlm + "border:5px solid #000;padding:0;'", html = "<div " + style + "><div></div></div>" + "<table " + style + " cellpadding='0' cellspacing='0'>" + "<tr><td></td></tr></table>"; @@ -296,6 +298,7 @@ jQuery.support = (function() { })( testElement, div ); jQuery.extend( support, offsetSupport ); + testElementParent.removeChild( testElement ); // Null connected elements to avoid leaks in IE testElement = fragment = select = opt = body = marginDiv = div = input = null; diff --git a/test/unit/offset.js b/test/unit/offset.js index adb8a9eca..a31d058a4 100644 --- a/test/unit/offset.js +++ b/test/unit/offset.js @@ -401,8 +401,8 @@ testoffset("scroll", function( jQuery, win ) { testoffset("body", function( jQuery ) { expect(2); - equals( jQuery("body").offset().top, 0, "jQuery('#body').offset().top" ); - equals( jQuery("body").offset().left, 0, "jQuery('#body').offset().left" ); + equals( jQuery("body").offset().top, 1, "jQuery('#body').offset().top" ); + equals( jQuery("body").offset().left, 1, "jQuery('#body').offset().left" ); }); test("Chaining offset(coords) returns jQuery object", function() { diff --git a/test/unit/support.js b/test/unit/support.js index 4733b2529..50a40e4a0 100644 --- a/test/unit/support.js +++ b/test/unit/support.js @@ -47,7 +47,7 @@ supportIFrameTest( "body background is not lost if set prior to loading jQuery ( } for ( i in support ) { if ( !( i in jQuery.support ) ) { - ok = false; + passed = false; strictEqual( src[ i ], dest[ i ], "Unexpected property: " + i ); } } |