From ad040181dc6c05fa37941a6c9bfbe98bdf7ba8f1 Mon Sep 17 00:00:00 2001 From: Mike Sherov Date: Sun, 19 Aug 2012 16:30:10 -0400 Subject: [PATCH] Fix #12283. Return null for dimension getters on non elements. Fix gh-900. --- src/dimensions.js | 2 +- test/unit/dimensions.js | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) 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); -- 2.39.5