X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=test%2Funit%2Foffset.js;h=879753181c6ff9168e2ac5efbb6c3273cb487565;hb=116c82b027a03a7a5670fa580fa9af819cc1cc03;hp=3b6af50e1d0cc16c856205bac57c2bb1fc652679;hpb=656fe92178fda539d91fe31965b28bccff484778;p=jquery.git
diff --git a/test/unit/offset.js b/test/unit/offset.js
index 3b6af50..8797531 100644
--- a/test/unit/offset.js
+++ b/test/unit/offset.js
@@ -1,5 +1,16 @@
module("offset");
+test("disconnected node", function() {
+ expect(2);
+
+ var result = jQuery( document.createElement("div") ).offset();
+
+ equals( result.top, 0, "Check top" );
+ equals( result.left, 0, "Check left" );
+});
+
+var supportsScroll = false;
+
testoffset("absolute"/* in iframe */, function($, iframe) {
expect(4);
@@ -10,6 +21,12 @@ testoffset("absolute"/* in iframe */, function($, iframe) {
// if the offset method is using the scroll offset
// of the parent window
var forceScroll = jQuery('
', { width: 2000, height: 2000 }).appendTo('body');
+ window.scrollTo(200, 200);
+
+ if ( document.documentElement.scrollTop || document.body.scrollTop ) {
+ supportsScroll = true;
+ }
+
window.scrollTo(1, 1);
// get offset
@@ -256,8 +273,13 @@ testoffset("fixed", function( jQuery ) {
{ id: '#fixed-1', top: 1001, left: 1001 },
{ id: '#fixed-2', top: 1021, left: 1021 }
];
+
jQuery.each( tests, function() {
- if ( jQuery.offset.supportsFixedPosition ) {
+ if ( !supportsScroll ) {
+ ok( true, "Browser doesn't support scroll position." );
+ ok( true, "Browser doesn't support scroll position." );
+
+ } else if ( jQuery.offset.supportsFixedPosition ) {
equals( jQuery( this.id ).offset().top, this.top, "jQuery('" + this.id + "').offset().top" );
equals( jQuery( this.id ).offset().left, this.left, "jQuery('" + this.id + "').offset().left" );
} else {
@@ -335,12 +357,20 @@ testoffset("scroll", function( jQuery, win ) {
// equals( jQuery('body').scrollLeft(), 0, "jQuery('body').scrollTop()" );
win.name = "test";
-
- equals( jQuery(win).scrollTop(), 1000, "jQuery(window).scrollTop()" );
- equals( jQuery(win).scrollLeft(), 1000, "jQuery(window).scrollLeft()" );
-
- equals( jQuery(win.document).scrollTop(), 1000, "jQuery(document).scrollTop()" );
- equals( jQuery(win.document).scrollLeft(), 1000, "jQuery(document).scrollLeft()" );
+
+ if ( !supportsScroll ) {
+ ok( true, "Browser doesn't support scroll position." );
+ ok( true, "Browser doesn't support scroll position." );
+
+ ok( true, "Browser doesn't support scroll position." );
+ ok( true, "Browser doesn't support scroll position." );
+ } else {
+ equals( jQuery(win).scrollTop(), 1000, "jQuery(window).scrollTop()" );
+ equals( jQuery(win).scrollLeft(), 1000, "jQuery(window).scrollLeft()" );
+
+ equals( jQuery(win.document).scrollTop(), 1000, "jQuery(document).scrollTop()" );
+ equals( jQuery(win.document).scrollLeft(), 1000, "jQuery(document).scrollLeft()" );
+ }
// test jQuery using parent window/document
// jQuery reference here is in the iframe