]> 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)
committerGitHub <noreply@github.com>
Wed, 1 Dec 2021 11:46:17 +0000 (12:46 +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

test/unit/ajax.js

index 4ab17e8eb56359c566a25a2ed4c6f0da4c033edf..fc8ed3ef0b1a2ce951276d218b466638691b6408 100644 (file)
@@ -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();