aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorMichał Gołębiowski-Owczarek <m.goleb@gmail.com>2019-03-27 15:47:33 +0100
committerGitHub <noreply@github.com>2019-03-27 15:47:33 +0100
commita2a73db99c059cc1dc893c981e87f5e2bbc8b411 (patch)
treef613879ae2c20d0d8ea63d6e0074818cc9d53908 /test
parent4455f8db4ef8660ca9e26d94d6f943c4d80db1c8 (diff)
downloadjquery-a2a73db99c059cc1dc893c981e87f5e2bbc8b411.tar.gz
jquery-a2a73db99c059cc1dc893c981e87f5e2bbc8b411.zip
Tests: Make Android Browser 4.0-4.3 dimensions tests green
Android Browser disregards td's box-sizing, treating it like it was content-box. Unlike in IE, offsetHeight shares the same issue so there's no easy way to workaround the issue without incurring high size penalty. Let's at least check we get the size as the browser sees it. Also, fix the nearby support comment syntax. Closes gh-4335
Diffstat (limited to 'test')
-rw-r--r--test/unit/dimensions.js18
1 files changed, 16 insertions, 2 deletions
diff --git a/test/unit/dimensions.js b/test/unit/dimensions.js
index 3f690cecf..23a58523c 100644
--- a/test/unit/dimensions.js
+++ b/test/unit/dimensions.js
@@ -757,13 +757,16 @@ QUnit.test( "outerWidth/Height for table cells and textarea with border-box in I
$firstTh = jQuery( "<th style='width: 200px;padding: 5px' />" ),
$secondTh = jQuery( "<th style='width: 190px;padding: 5px' />" ),
$thirdTh = jQuery( "<th style='width: 180px;padding: 5px' />" ),
- // Support Firefox 63, Edge 16-17, Android 8, iOS 7-11
+
+ // Support: Firefox 63, Edge 16-17, Android 8, iOS 7-11
// These browsers completely ignore the border-box and height settings
// The computed height is instead just line-height + border
// Either way, what we're doing in css.js is correct
$td = jQuery( "<td style='height: 20px;padding: 5px;border: 1px solid;line-height:18px'>text</td>" ),
+
$tbody = jQuery( "<tbody />" ).appendTo( $table ),
$textarea = jQuery( "<textarea style='height: 0;padding: 2px;border: 1px solid;box-sizing: border-box' />" ).appendTo( "#qunit-fixture" );
+
jQuery( "<tr />" ).appendTo( $thead ).append( $firstTh );
jQuery( "<tr />" ).appendTo( $thead ).append( $secondTh );
jQuery( "<tr />" ).appendTo( $thead ).append( $thirdTh );
@@ -772,7 +775,18 @@ QUnit.test( "outerWidth/Height for table cells and textarea with border-box in I
assert.strictEqual( $firstTh.outerWidth(), 200, "First th has outerWidth 200." );
assert.strictEqual( $secondTh.outerWidth(), 200, "Second th has outerWidth 200." );
assert.strictEqual( $thirdTh.outerWidth(), 200, "Third th has outerWidth 200." );
- assert.strictEqual( $td.outerHeight(), 30, "outerHeight of td with border-box should include padding." );
+
+ // Support: Android 4.0-4.3 only
+ // Android Browser disregards td's box-sizing, treating it like it was content-box.
+ // Unlike in IE, offsetHeight shares the same issue so there's no easy way to workaround
+ // the issue without incurring high size penalty. Let's at least check we get the size
+ // as the browser sees it.
+ if ( /android 4\.[0-3]/i.test( navigator.userAgent ) ) {
+ assert.ok( [ 30, 32 ].indexOf( $td.outerHeight() ) > -1,
+ "outerHeight of td with border-box should include padding." );
+ } else {
+ assert.strictEqual( $td.outerHeight(), 30, "outerHeight of td with border-box should include padding." );
+ }
assert.strictEqual( $textarea.outerHeight(), 6, "outerHeight of textarea with border-box should include padding and border." );
} );