]> source.dussan.org Git - jquery.git/commitdiff
Fix test cases for bug #8316 fix. 292/head
authortimmywil <tim.willison@thisismedium.com>
Thu, 31 Mar 2011 06:55:16 +0000 (02:55 -0400)
committertimmywil <tim.willison@thisismedium.com>
Thu, 31 Mar 2011 06:55:16 +0000 (02:55 -0400)
- Removed special page, just needed another test in the fixed offset tests

- Checks it's position related to scrolling

src/offset.js
test/data/offset/bug_8316.html [deleted file]
test/data/offset/fixed.html
test/unit/offset.js

index 972278c8da6f6e0cc0e8acc1b581ddcaa60817dd..a0cd7a15661b04890a83f0b8b7ecc08f9ba1a99c 100644 (file)
@@ -37,8 +37,8 @@ if ( "getBoundingClientRect" in document.documentElement ) {
                        win = getWindow(doc),
                        clientTop  = docElem.clientTop  || body.clientTop  || 0,
                        clientLeft = docElem.clientLeft || body.clientLeft || 0,
-                       scrollTop  = (win.pageYOffset || jQuery.support.boxModel && docElem.scrollTop  || body.scrollTop ),
-                       scrollLeft = (win.pageXOffset || jQuery.support.boxModel && docElem.scrollLeft || body.scrollLeft),
+                       scrollTop  = win.pageYOffset || jQuery.support.boxModel && docElem.scrollTop  || body.scrollTop,
+                       scrollLeft = win.pageXOffset || jQuery.support.boxModel && docElem.scrollLeft || body.scrollLeft,
                        top  = box.top  + scrollTop  - clientTop,
                        left = box.left + scrollLeft - clientLeft;
 
@@ -180,7 +180,7 @@ jQuery.offset = {
                        curOffset = curElem.offset(),
                        curCSSTop = jQuery.css( elem, "top" ),
                        curCSSLeft = jQuery.css( elem, "left" ),
-                       calculatePosition = ((position === "absolute" || position === "fixed") && jQuery.inArray('auto', [curCSSTop, curCSSLeft]) > -1),
+                       calculatePosition = (position === "absolute" || position === "fixed") && jQuery.inArray('auto', [curCSSTop, curCSSLeft]) > -1,
                        props = {}, curPosition = {}, curTop, curLeft;
 
                // need to be able to calculate position if either top or left is auto and position is either absolute or fixed
diff --git a/test/data/offset/bug_8316.html b/test/data/offset/bug_8316.html
deleted file mode 100644 (file)
index ce32a28..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html>
-       <head>
-               <meta http-equiv="Content-type" content="text/html; charset=utf-8">
-               <title>bug_8316</title>
-               <style type="text/css" media="screen">
-                       #elem {
-          background-color: #000;
-          height: 100px;
-          width: 100px;
-          position: fixed;
-      }
-               </style>
-               <script src="../../../src/core.js"></script>
-               <script src="../../../src/deferred.js"></script>
-               <script src="../../../src/support.js"></script>
-               <script src="../../../src/sizzle/sizzle.js"></script>
-               <script src="../../../src/sizzle-jquery.js"></script>
-               <script src="../../../src/traversing.js"></script>
-               <script src="../../../src/data.js"></script>
-               <script src="../../../src/event.js"></script>
-               <script src="../../../src/css.js"></script>
-               <script src="../../../src/offset.js"></script>
-       </head>
-       <body>
-               <p> Some foo text </p>
-    <div id="elem"></div>
-       </body>
-</html>
index 3181718da0cf19e00091082d3a5644135d06c624..81ba4ca7dc30560bf5512eff0d12cf45bb68734f 100644 (file)
@@ -35,6 +35,7 @@
        <body>
                <div id="fixed-1" class="fixed"></div>
                <div id="fixed-2" class="fixed"></div>
+               <div id="fixed-no-top-left" class="fixed"></div>
                <div id="forceScroll"></div>
                <div id="marker"></div>
                <p class="instructions">Click the white box to move the marker to it.</p>
index b7f72a0cd0fe28f495a6e9134691f1f025788c05..ae051884937ef1e641f066625a861854dc1a1e3c 100644 (file)
@@ -265,7 +265,7 @@ testoffset("static", function( jQuery ) {
 });
 
 testoffset("fixed", function( jQuery ) {
-       expect(28);
+       expect(30);
 
        jQuery.offset.initialize();
 
@@ -320,6 +320,17 @@ testoffset("fixed", function( jQuery ) {
                        ok( true, 'Fixed position is not supported' );
                }
        });
+
+       // Bug 8316
+       var $noTopLeft = jQuery('#fixed-no-top-left');
+       if ( jQuery.offset.supportsFixedPosition ) {
+               equals( $noTopLeft.offset().top,  1007,  "Check offset top for fixed element with no top set" );
+               equals( $noTopLeft.offset().left, 1007, "Check offset left for fixed element with no left set" );
+       } else {
+               // need to have same number of assertions
+               ok( true, 'Fixed position is not supported' );
+               ok( true, 'Fixed position is not supported' );
+       }
 });
 
 testoffset("table", function( jQuery ) {
@@ -422,22 +433,7 @@ test("offsetParent", function(){
        equals( div[1], jQuery("#nothiddendiv")[0], "The div is the offsetParent." );
 });
 
-testoffset("bug_8316", function( jQuery ){
-  expect(2);
-  
-  var tests = [
-    { id:'#elem', top: 100, left: 100 }
-  ];
-  
-  jQuery.each(tests, function(){
-    var el = jQuery(this.id);
-    el.offset({ top: this.top, left: this.left});
-    equals(Math.round(el.offset().top), this.top);
-    equals(Math.round(el.offset().left), this.left);
-  });
-});
-
-function testoffset(name, fn) {
+function testoffset( name, fn ) {
 
        test(name, function() {
                // pause execution for now