From 3661835101865b08fae20df7458ba03551b86bc3 Mon Sep 17 00:00:00 2001 From: timmywil Date: Wed, 28 Sep 2011 11:30:38 -0400 Subject: [PATCH] Fixes IE7 test suite. Keep the testElement attached and set necessary styles on it to fix the offset with margin test. --- src/support.js | 9 ++++++--- test/unit/offset.js | 4 ++-- 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 = "
" + "" + "
"; @@ -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 ); } } -- 2.39.5