aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/effects.js4
-rw-r--r--src/offset.js16
-rw-r--r--test/unit/effects.js28
-rw-r--r--test/unit/offset.js7
4 files changed, 40 insertions, 15 deletions
diff --git a/src/effects.js b/src/effects.js
index ff2f145b8..7fa734208 100644
--- a/src/effects.js
+++ b/src/effects.js
@@ -13,7 +13,7 @@ var elemdisplay = {},
jQuery.fn.extend({
show: function( speed, callback ) {
- if ( speed != null ) {
+ if ( speed || speed === 0) {
return this.animate( genFx("show", 3), speed, callback);
} else {
@@ -57,7 +57,7 @@ jQuery.fn.extend({
},
hide: function( speed, callback ) {
- if ( speed != null ) {
+ if ( speed || speed === 0 ) {
return this.animate( genFx("hide", 3), speed, callback);
} else {
diff --git a/src/offset.js b/src/offset.js
index c3183743b..f80574eea 100644
--- a/src/offset.js
+++ b/src/offset.js
@@ -2,16 +2,16 @@ if ( "getBoundingClientRect" in document.documentElement ) {
jQuery.fn.offset = function( options ) {
var elem = this[0];
- if ( !elem || !elem.ownerDocument ) {
- return null;
- }
-
if ( options ) {
return this.each(function( i ) {
jQuery.offset.setOffset( this, options, i );
});
}
+ if ( !elem || !elem.ownerDocument ) {
+ return null;
+ }
+
if ( elem === elem.ownerDocument.body ) {
return jQuery.offset.bodyOffset( elem );
}
@@ -28,16 +28,16 @@ if ( "getBoundingClientRect" in document.documentElement ) {
jQuery.fn.offset = function( options ) {
var elem = this[0];
- if ( !elem || !elem.ownerDocument ) {
- return null;
- }
-
if ( options ) {
return this.each(function( i ) {
jQuery.offset.setOffset( this, options, i );
});
}
+ if ( !elem || !elem.ownerDocument ) {
+ return null;
+ }
+
if ( elem === elem.ownerDocument.body ) {
return jQuery.offset.bodyOffset( elem );
}
diff --git a/test/unit/effects.js b/test/unit/effects.js
index cefcc15a4..467631c7b 100644
--- a/test/unit/effects.js
+++ b/test/unit/effects.js
@@ -1,18 +1,36 @@
module("effects");
test("show()", function() {
- expect(16);
+ expect(23);
var pass = true, div = jQuery("#main div");
div.show().each(function(){
if ( this.style.display == "none" ) pass = false;
});
ok( pass, "Show" );
- pass = true;
- div.hide().show(null).each(function() {
- if ( this.style.display == "none" ) pass = false;
+ var speeds = {
+ "null speed": null,
+ "undefined speed": undefined,
+ "empty string speed": "",
+ "false speed": false
+ };
+
+ jQuery.each(speeds, function(name, speed) {
+ pass = true;
+ div.hide().show(speed).each(function() {
+ if ( this.style.display == "none" ) pass = false;
+ });
+ ok( pass, "Show with " + name);
+ });
+
+
+ jQuery.each(speeds, function(name, speed) {
+ pass = true;
+ div.hide().show(speed, function() {
+ pass = false;
+ });
+ ok( pass, "Show with " + name + " does not call animate callback" );
});
- ok( pass, "Show will null speed");
jQuery("#main").append('<div id="show-tests"><div><p><a href="#"></a></p><code></code><pre></pre><span></span></div><table><thead><tr><th></th></tr></thead><tbody><tr><td></td></tr></tbody></table><ul><li></li></ul></div>');
diff --git a/test/unit/offset.js b/test/unit/offset.js
index dc03bc2e2..dbaddc862 100644
--- a/test/unit/offset.js
+++ b/test/unit/offset.js
@@ -305,6 +305,13 @@ testoffset("body", function( jQuery ) {
equals( jQuery('body').offset().left, 1, "jQuery('#body').offset().left" );
});
+test("Chaining offset(coords) returns jQuery object", function() {
+ expect(2);
+ var coords = { top: 1, left: 1 };
+ equals( jQuery("#absolute-1").offset(coords).selector, "#absolute-1", "offset(coords) returns jQuery object" );
+ equals( jQuery("#non-existent").offset(coords).selector, "#non-existent", "offset(coords) with empty jQuery set returns jQuery object" );
+});
+
test("offsetParent", function(){
expect(11);