Matthias Mullie has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/327702 )

Change subject: Add test for api deferred rejection of errorformat!=bc
......................................................................

Add test for api deferred rejection of errorformat!=bc

Change-Id: Ia4e1d575e07df690919d63502f9fedffff7be0a3
---
M resources/src/mediawiki/api.js
M tests/qunit/suites/resources/mediawiki.api/mediawiki.api.test.js
2 files changed, 17 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/02/327702/1

diff --git a/resources/src/mediawiki/api.js b/resources/src/mediawiki/api.js
index b9db059..a174f58 100644
--- a/resources/src/mediawiki/api.js
+++ b/resources/src/mediawiki/api.js
@@ -261,9 +261,11 @@
                                                        jqXHR
                                                );
                                        } else if ( result.error ) {
+                                               // errorformat=bc
                                                code = result.error.code === 
undefined ? 'unknown' : result.error.code;
                                                apiDeferred.reject( code, 
result, result, jqXHR );
                                        } else if ( result.errors ) {
+                                               // errorformat!=bc
                                                code = result.errors[ 0 ].code 
=== undefined ? 'unknown' : result.errors[ 0 ].code;
                                                apiDeferred.reject( code, 
result, result, jqXHR );
                                        } else {
diff --git a/tests/qunit/suites/resources/mediawiki.api/mediawiki.api.test.js 
b/tests/qunit/suites/resources/mediawiki.api/mediawiki.api.test.js
index 3a959a3..6a00ac9 100644
--- a/tests/qunit/suites/resources/mediawiki.api/mediawiki.api.test.js
+++ b/tests/qunit/suites/resources/mediawiki.api/mediawiki.api.test.js
@@ -44,7 +44,7 @@
                } );
        } );
 
-       QUnit.test( 'API error', function ( assert ) {
+       QUnit.test( 'API error errorformat=bc', function ( assert ) {
                var api = new mw.Api();
 
                this.server.respond( [ 200, { 'Content-Type': 
'application/json' },
@@ -58,6 +58,20 @@
                        .always( assert.async() );
        } );
 
+       QUnit.test( 'API error errorformat!=bc', function ( assert ) {
+               var api = new mw.Api();
+
+               this.server.respond( [ 200, { 'Content-Type': 
'application/json' },
+                       '{ "errors": [ { "code": "unknown_action", "key": 
"unknown-error", "params": [] } ] }'
+               ] );
+
+               api.get( { action: 'doesntexist' } )
+                       .fail( function ( errorCode ) {
+                               assert.equal( errorCode, 'unknown_action', 'API 
error should reject the deferred' );
+                       } )
+                       .always( assert.async() );
+       } );
+
        QUnit.test( 'FormData support', function ( assert ) {
                var api = new mw.Api();
 

-- 
To view, visit https://gerrit.wikimedia.org/r/327702
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia4e1d575e07df690919d63502f9fedffff7be0a3
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Matthias Mullie <mmul...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to