diff options
author | Jason Bedard <jason+github@jbedard.ca> | 2018-06-20 22:09:29 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-20 22:09:29 -0700 |
commit | e743cbd28553267f955f71ea7248377915613fd9 (patch) | |
tree | f8f4f1498e9876c9821a88a547b8711dc2689d3a /test | |
parent | 0645099e027cd0e31a828572169a8c25474e2b5c (diff) | |
download | jquery-e743cbd28553267f955f71ea7248377915613fd9.tar.gz jquery-e743cbd28553267f955f71ea7248377915613fd9.zip |
Dimensions: fix computing outerWidth on SVGs
Fixes gh-3964
Closes gh-4096
Diffstat (limited to 'test')
-rw-r--r-- | test/unit/dimensions.js | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/test/unit/dimensions.js b/test/unit/dimensions.js index d7e553369..8c7f0752f 100644 --- a/test/unit/dimensions.js +++ b/test/unit/dimensions.js @@ -352,6 +352,66 @@ QUnit.test( "table dimensions", function( assert ) { assert.equal( colElem.width(), 300, "col elements have width(), see #12243" ); } ); +QUnit.test( "SVG dimensions (basic content-box)", function( assert ) { + assert.expect( 8 ); + + var svg = jQuery( "<svg width='100' height='100'></svg>" ).appendTo( "#qunit-fixture" ); + + assert.equal( svg.width(), 100 ); + assert.equal( svg.height(), 100 ); + + assert.equal( svg.innerWidth(), 100 ); + assert.equal( svg.innerHeight(), 100 ); + + assert.equal( svg.outerWidth(), 100 ); + assert.equal( svg.outerHeight(), 100 ); + + assert.equal( svg.outerWidth( true ), 100 ); + assert.equal( svg.outerHeight( true ), 100 ); + + svg.remove(); +} ); + +QUnit.test( "SVG dimensions (content-box)", function( assert ) { + assert.expect( 8 ); + + var svg = jQuery( "<svg width='100' height='100' style='box-sizing: content-box; border: 1px solid white; padding: 2px; margin: 3px'></svg>" ).appendTo( "#qunit-fixture" ); + + assert.equal( svg.width(), 100 ); + assert.equal( svg.height(), 100 ); + + assert.equal( svg.innerWidth(), 104 ); + assert.equal( svg.innerHeight(), 104 ); + + assert.equal( svg.outerWidth(), 106 ); + assert.equal( svg.outerHeight(), 106 ); + + assert.equal( svg.outerWidth( true ), 112 ); + assert.equal( svg.outerHeight( true ), 112 ); + + svg.remove(); +} ); + +QUnit.test( "SVG dimensions (border-box)", function( assert ) { + assert.expect( 8 ); + + var svg = jQuery( "<svg width='100' height='100' style='box-sizing: border-box; border: 1px solid white; padding: 2px; margin: 3px'></svg>" ).appendTo( "#qunit-fixture" ); + + assert.equal( svg.width(), 94 ); + assert.equal( svg.height(), 94 ); + + assert.equal( svg.innerWidth(), 98 ); + assert.equal( svg.innerHeight(), 98 ); + + assert.equal( svg.outerWidth(), 100 ); + assert.equal( svg.outerHeight(), 100 ); + + assert.equal( svg.outerWidth( true ), 106 ); + assert.equal( svg.outerHeight( true ), 106 ); + + svg.remove(); +} ); + QUnit.test( "box-sizing:border-box child of a hidden elem (or unconnected node) has accurate inner/outer/Width()/Height() see #10413", function( assert ) { assert.expect( 16 ); |