From: Mike Sherov Date: Sun, 19 Aug 2012 20:30:10 +0000 (-0400) Subject: Fix #12283. Return null for dimension getters on non elements. Fix gh-900. X-Git-Tag: 1.8.1~38 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=ad040181dc6c05fa37941a6c9bfbe98bdf7ba8f1;p=jquery.git Fix #12283. Return null for dimension getters on non elements. Fix gh-900. --- diff --git a/src/dimensions.js b/src/dimensions.js index c8034bc61..c41cce1b3 100644 --- a/src/dimensions.js +++ b/src/dimensions.js @@ -35,7 +35,7 @@ jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { // Set width or height on the element jQuery.style( elem, type, value, extra ); - }, type, chainable ? margin : undefined, chainable ); + }, type, chainable ? margin : undefined, chainable, null ); }; }); }); diff --git a/test/unit/dimensions.js b/test/unit/dimensions.js index 0b2e63600..b3c15f283 100644 --- a/test/unit/dimensions.js +++ b/test/unit/dimensions.js @@ -385,6 +385,22 @@ test("passing undefined is a setter #5571", function() { equal(jQuery("#nothiddendiv").width(30).width(undefined).width(), 30, ".width(undefined) is chainable (#5571)"); }); +test( "getters on non elements should return null", function() { + expect( 8 ); + + var nonElem = jQuery("notAnElement"); + + strictEqual( nonElem.width(), null, ".width() is not null (#12283)" ); + strictEqual( nonElem.innerWidth(), null, ".innerWidth() is not null (#12283)" ); + strictEqual( nonElem.outerWidth(), null, ".outerWidth() is not null (#12283)" ); + strictEqual( nonElem.outerWidth( true ), null, ".outerWidth(true) is not null (#12283)" ); + + strictEqual( nonElem.height(), null, ".height() is not null (#12283)" ); + strictEqual( nonElem.innerHeight(), null, ".innerHeight() is not null (#12283)" ); + strictEqual( nonElem.outerHeight(), null, ".outerHeight() is not null (#12283)" ); + strictEqual( nonElem.outerHeight( true ), null, ".outerHeight(true) is not null (#12283)" ); +}); + test("setters with and without box-sizing:border-box", function(){ expect(20);