From 19ced963c63372eae5aca9e1a4baec80b78a2b8e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?= Date: Wed, 1 Dec 2021 12:46:17 +0100 Subject: [PATCH] Tests: Allow statusText to be "success" in AJAX tests In HTTP/2, status message is not supported and whatever is reported as statusText differs between browsers. In Chrome & Safari it's "success", in Firefox & IE it's "OK". So far "success" wasn't allowed. This made the tests pass locally if you're running an HTTP/1.1 server but on TestSwarm which is now proxied via an HTTP/2-equipped Cloudflare, the relevant test started failing in Chrome & Safari. Allow "success" to resolve the issue. Closes gh-4973 --- test/unit/ajax.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/unit/ajax.js b/test/unit/ajax.js index 4ab17e8eb..fc8ed3ef0 100644 --- a/test/unit/ajax.js +++ b/test/unit/ajax.js @@ -1704,7 +1704,8 @@ QUnit.module( "ajax", { var done = assert.async(); jQuery.ajax( url( "mock.php?action=status&code=200&text=Hello" ) ).done( function( _, statusText, jqXHR ) { assert.strictEqual( statusText, "success", "callback status text ok for success" ); - assert.ok( jqXHR.statusText === "Hello" || jqXHR.statusText === "OK", "jqXHR status text ok for success (" + jqXHR.statusText + ")" ); + assert.ok( [ "Hello", "OK", "success" ].indexOf( jqXHR.statusText ) > -1, + "jqXHR status text ok for success (" + jqXHR.statusText + ")" ); jQuery.ajax( url( "mock.php?action=status&code=404&text=World" ) ).fail( function( jqXHR, statusText ) { assert.strictEqual( statusText, "error", "callback status text ok for error" ); done(); -- 2.39.5