]> source.dussan.org Git - jquery.git/commitdiff
Tests: Allow statusText to be "success" in AJAX tests
authorMichał Gołębiowski-Owczarek <m.goleb@gmail.com>
Wed, 1 Dec 2021 11:46:17 +0000 (12:46 +0100)
committerMichał Gołębiowski-Owczarek <m.goleb@gmail.com>
Wed, 1 Dec 2021 12:25:43 +0000 (13:25 +0100)
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

(cherry picked from commit 19ced963c63372eae5aca9e1a4baec80b78a2b8e)

test/unit/ajax.js

index bcb2346400ad961d16a3bc74817be876060b029c..dee96b36dc06780891c4ea6fe9843225e5afca4a 100644 (file)
@@ -1627,7 +1627,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();