};
} );
+ ajaxTest( "jQuery.ajax() - don't escape %20 with contentType override (gh-4119)", 1, function( assert ) {
+ return {
+ url: "bogus.html",
+ contentType: "application/x-www-form-urlencoded",
+ headers: { "content-type": "application/json" },
+ method: "post",
+ dataType: "json",
+ data: "{\"val\":\"%20\"}",
+ beforeSend: function( _, s ) {
+ assert.strictEqual( s.data, "{\"val\":\"%20\"}", "data is not %20-encoded" );
+ return false;
+ },
+ error: true
+ };
+ } );
+
+ ajaxTest( "jQuery.ajax() - escape %20 with contentType override (gh-4119)", 1, function( assert ) {
+ return {
+ url: "bogus.html",
+ contentType: "application/json",
+ headers: { "content-type": "application/x-www-form-urlencoded" },
+ method: "post",
+ dataType: "json",
+ data: "{\"val\":\"%20\"}",
+ beforeSend: function( _, s ) {
+ assert.strictEqual( s.data, "{\"val\":\"+\"}", "data is %20-encoded" );
+ return false;
+ },
+ error: true
+ };
+ } );
+
+ ajaxTest( "jQuery.ajax() - override contentType with header (gh-4119)", 1, function( assert ) {
+ return {
+ url: "bogus.html",
+ contentType: "application/json",
+ headers: { "content-type": "application/x-www-form-urlencoded" },
+ beforeSend: function( _, s ) {
+ assert.strictEqual( s.contentType, "application/x-www-form-urlencoded",
+ "contentType is overwritten" );
+ return false;
+ },
+ error: true
+ };
+ } );
+
ajaxTest( "jQuery.ajax() - data - no processing POST", 1, function( assert ) {
return {
url: "bogus.html",