From 9441dde8bfb95277df073717ed7817dced40f948 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Fri, 28 Mar 2014 05:41:12 +0100 Subject: Update to MediaWiki 1.22.5 --- .../resources/mediawiki.api/mediawiki.api.test.js | 61 ++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 tests/qunit/suites/resources/mediawiki.api/mediawiki.api.test.js (limited to 'tests/qunit/suites/resources/mediawiki.api/mediawiki.api.test.js') diff --git a/tests/qunit/suites/resources/mediawiki.api/mediawiki.api.test.js b/tests/qunit/suites/resources/mediawiki.api/mediawiki.api.test.js new file mode 100644 index 00000000..9eda75ce --- /dev/null +++ b/tests/qunit/suites/resources/mediawiki.api/mediawiki.api.test.js @@ -0,0 +1,61 @@ +( function ( mw ) { + QUnit.module( 'mediawiki.api', QUnit.newMwEnvironment() ); + + QUnit.asyncTest( 'Basic functionality', function ( assert ) { + var api, d1, d2, d3; + QUnit.expect( 3 ); + + api = new mw.Api(); + + d1 = api.get( {} ) + .done( function ( data ) { + assert.deepEqual( data, [], 'If request succeeds without errors, resolve deferred' ); + } ); + + d2 = api.get( { + action: 'doesntexist' + } ) + .fail( function ( errorCode ) { + assert.equal( errorCode, 'unknown_action', 'API error (e.g. "unknown_action") should reject the deferred' ); + } ); + + d3 = api.post( {} ) + .done( function ( data ) { + assert.deepEqual( data, [], 'Simple POST request' ); + } ); + + // After all are completed, continue the test suite. + QUnit.whenPromisesComplete( d1, d2, d3 ).always( function () { + QUnit.start(); + } ); + } ); + + QUnit.asyncTest( 'Deprecated callback methods', function ( assert ) { + var api, d1, d2, d3; + QUnit.expect( 3 ); + + api = new mw.Api(); + + d1 = api.get( {}, function () { + assert.ok( true, 'Function argument treated as success callback.' ); + } ); + + d2 = api.get( {}, { + ok: function () { + assert.ok( true, '"ok" property treated as success callback.' ); + } + } ); + + d3 = api.get( { + action: 'doesntexist' + }, { + err: function () { + assert.ok( true, '"err" property treated as error callback.' ); + } + } ); + + QUnit.whenPromisesComplete( d1, d2, d3 ).always( function () { + QUnit.start(); + } ); + } ); +}( mediaWiki ) ); -- cgit v1.2.3-54-g00ecf