aboutsummaryrefslogtreecommitdiffstats
path: root/test/unit/dimensions.js
diff options
context:
space:
mode:
authorMichał Gołębiowski-Owczarek <m.goleb@gmail.com>2023-04-04 16:00:55 +0200
committerGitHub <noreply@github.com>2023-04-04 16:00:55 +0200
commitbce13b72c1753e16cc0db53ebf0f0456bdcf6b48 (patch)
tree6465829ebdbd209547355057980f56beb8e0779d /test/unit/dimensions.js
parentbcaeb000b777c018ad5d18e01be5060caa8cb158 (diff)
downloadjquery-bce13b72c1753e16cc0db53ebf0f0456bdcf6b48.tar.gz
jquery-bce13b72c1753e16cc0db53ebf0f0456bdcf6b48.zip
CSS: Make `offsetHeight( true )`, etc. include negative margins
This regressed in gh-3656 as the added logic to include scroll gutters in `.innerWidth()` / `.innerHeight()` didn't take negative margins into account. This broke handling of negative margins in `.offsetHeight( true )` and `.offsetWidth( true )`. To fix it, calculate margin delta separately and only add it after the scroll gutter adjustment logic. Fixes gh-3982 Closes gh-5234 Ref gh-3656
Diffstat (limited to 'test/unit/dimensions.js')
-rw-r--r--test/unit/dimensions.js7
1 files changed, 6 insertions, 1 deletions
diff --git a/test/unit/dimensions.js b/test/unit/dimensions.js
index 5475f24fb..85a69cdb7 100644
--- a/test/unit/dimensions.js
+++ b/test/unit/dimensions.js
@@ -240,7 +240,7 @@ QUnit.test( "outerWidth()", function( assert ) {
} );
QUnit.test( "outerHeight()", function( assert ) {
- assert.expect( 12 );
+ assert.expect( 14 );
var $div, div,
$win = jQuery( window ),
@@ -268,6 +268,11 @@ QUnit.test( "outerHeight()", function( assert ) {
$div.css( "display", "none" );
assert.equal( $div.outerHeight( true ), 94, "Test hidden div with padding, border and margin with margin option" );
+ $div.css( "display", "" );
+ $div.css( "margin", "-10px" );
+ assert.equal( $div.outerHeight(), 74, "Test with padding, border and negative margin without margin option" );
+ assert.equal( $div.outerHeight( true ), 54, "Test with padding, border and negative margin with margin option" );
+
// reset styles
$div.css( { "position": "", "display": "", "border": "", "padding": "", "width": "", "height": "" } );