From: Michał Gołębiowski-Owczarek Date: Fri, 14 Dec 2018 21:06:44 +0000 (+0100) Subject: Tests: Exclude Android 4.x from repeated header names test X-Git-Tag: 3.4.0~26 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=9cb162f6b62b6d4403060a0f0d2065d3ae96bbcc;p=jquery.git Tests: Exclude Android 4.x from repeated header names test Android Browser only returns the last value for each header so there's no way for jQuery get all parts. Closes gh-4259 Ref gh-3403 Ref gh-4173 --- diff --git a/test/unit/ajax.js b/test/unit/ajax.js index f9cd3668d..3defc0ea8 100644 --- a/test/unit/ajax.js +++ b/test/unit/ajax.js @@ -273,6 +273,7 @@ QUnit.module( "ajax", { }, success: function( data, _, xhr ) { var i, emptyHeader, + isAndroid = /android 4\.[0-3]/i.test( navigator.userAgent ), requestHeaders = jQuery.extend( this.headers, { "ajax-send": "test" } ), @@ -293,7 +294,16 @@ QUnit.module( "ajax", { assert.strictEqual( emptyHeader, "", "Empty header received" ); } assert.strictEqual( xhr.getResponseHeader( "Sample-Header2" ), "Hello World 2", "Second sample header received" ); - assert.strictEqual( xhr.getResponseHeader( "List-Header" ), "Item 1, Item 2", "List header received" ); + + if ( isAndroid ) { + // Support: Android 4.0-4.3 only + // Android Browser only returns the last value for each header + // so there's no way for jQuery get all parts. + assert.ok( true, "Android doesn't support repeated header names" ); + } else { + assert.strictEqual( xhr.getResponseHeader( "List-Header" ), "Item 1, Item 2", "List header received" ); + } + assert.strictEqual( xhr.getResponseHeader( "constructor" ), "prototype collision (constructor)", "constructor header received" ); assert.strictEqual( xhr.getResponseHeader( "__proto__" ), null, "Undefined __proto__ header not received" ); }