jenkins-bot has submitted this change and it was merged.
Change subject: Categories: Update categories code and unit tests
......................................................................
Categories: Update categories code and unit tests
* Updates categories code to remove unexecuted code
* Updates unit tests
Bug: T89641
Change-Id: I42025b94b5cb7be6d02b55f7259b64e4d8a6c7ea
---
M modules/tools/ext.cx.tools.categories.js
M tests/qunit/tools/ext.cx.tools.categories.test.js
2 files changed, 20 insertions(+), 175 deletions(-)
Approvals:
Santhosh: Looks good to me, approved
jenkins-bot: Verified
diff --git a/modules/tools/ext.cx.tools.categories.js
b/modules/tools/ext.cx.tools.categories.js
index 7db52e3..5a4cb7a 100644
--- a/modules/tools/ext.cx.tools.categories.js
+++ b/modules/tools/ext.cx.tools.categories.js
@@ -598,57 +598,22 @@
/**
* Retrieves the specified set of categories
- * Valid sets are 'source', 'target' and 'adapted'
- * If no set is specified, returns all three sets
*
- * @param {string} categorySet The set of categories to return
- * @return {jQuery.promis}
+ * @return {jQuery.Promise}
*/
- CXCategoryTool.prototype.getCategories = function ( categorySet ) {
+ CXCategoryTool.prototype.getCategories = function () {
var categoryTool = this,
deferred = $.Deferred();
- switch ( categorySet ) {
- case 'source':
- this.getArticleCategories( mw.cx.sourceTitle,
mw.cx.sourceLanguage )
- .done( function ( categories ) {
- deferred.resolve( categories );
- } );
- break;
- case 'adapted':
- this.getArticleCategories( mw.cx.sourceTitle,
mw.cx.sourceLanguage )
- .done( function ( categories ) {
- categoryTool.adaptCategories(
categories, mw.cx.targetLanguage )
- .done( function (
adaptedCategories ) {
- deferred.resolve(
adaptedCategories );
- } );
- } );
- break;
- case 'target':
- if ( this.categories.target !== null ) {
- deferred.resolve( this.categories.target );
- } else {
- this.getArticleCategories( mw.cx.sourceTitle,
mw.cx.sourceLanguage )
- .done( function ( categories ) {
- categoryTool.adaptCategories(
categories, mw.cx.targetLanguage )
- .done( function (
adaptedCategories ) {
-
deferred.resolve( adaptedCategories );
- } );
+ this.getArticleCategories( mw.cx.sourceTitle,
mw.cx.sourceLanguage )
+ .done( function ( categories ) {
+ categoryTool.adaptCategories( categories,
mw.cx.targetLanguage )
+ .done( function () {
+ deferred.resolve(
categoryTool.categories );
} );
- }
- break;
- default:
- this.getArticleCategories( mw.cx.sourceTitle,
mw.cx.sourceLanguage )
- .done( function ( categories ) {
- categoryTool.adaptCategories(
categories, mw.cx.targetLanguage )
- .done( function () {
- deferred.resolve(
categoryTool.categories );
- } );
- } );
- }
+ } );
return deferred.promise();
-
};
/**
diff --git a/tests/qunit/tools/ext.cx.tools.categories.test.js
b/tests/qunit/tools/ext.cx.tools.categories.test.js
index 3796931..ab0fa5e 100644
--- a/tests/qunit/tools/ext.cx.tools.categories.test.js
+++ b/tests/qunit/tools/ext.cx.tools.categories.test.js
@@ -12,144 +12,24 @@
mw.cx.siteMapper = new mw.cx.SiteMapper(
mw.config.get(
'wgContentTranslationSiteTemplates' )
);
- mw.cx.sourceLanguage = 'en';
- mw.cx.targetLanguage = 'es';
+ mw.cx.sourceLanguage = 'es';
+ mw.cx.targetLanguage = 'ca';
}
} ) );
- QUnit.test( 'Get source categories', function ( assert ) {
+ QUnit.test( 'Get categories', function ( assert ) {
+ var done, categoryTool = new mw.cx.CategoryTool(
mw.cx.siteMapper );
+ done = assert.async();
QUnit.expect( 3 );
- function testGetSourceCategories( title ) {
- var deferred = $.Deferred();
-
- mw.cx.categoryTool = new mw.cx.CategoryTool(
mw.cx.siteMapper );
- mw.cx.sourceTitle = title;
- mw.cx.categoryTool.getCategories( 'source' )
- .done( function ( categories ) {
- deferred.resolve( categories );
- } );
-
- return deferred.promise();
- }
-
- QUnit.stop();
- testGetSourceCategories( 'Han Fei' )
- .done( function ( results ) {
- assert.equal( Object.keys( results ).length, 13,
- 'Correct number of source categories
retrieved (13 results)'
- );
- QUnit.start();
+ mw.cx.sourceTitle = 'Han Feizi';
+ categoryTool.getCategories()
+ .then( function () {
+ assert.equal( Object.keys(
categoryTool.categories.source ).length, 4 );
+ assert.equal( Object.keys(
categoryTool.categories.adapted ).length, 1 );
+ assert.equal( Object.keys(
categoryTool.categories.target ).length, 1 );
+ done();
} );
-
- QUnit.stop();
- testGetSourceCategories( 'Han' )
- .done( function ( results ) {
- assert.equal( Object.keys( results ).length, 1,
- 'Correct number of source categories
retrieved (1 result)'
- );
- QUnit.start();
- } );
-
- QUnit.stop();
- testGetSourceCategories( 'Shen Dao' )
- .done( function ( results ) {
- assert.equal( Object.keys( results ).length, 6,
- 'Correct number of source categories
retrieved (6 results)'
- );
- QUnit.start();
- } );
-
- } );
-
- QUnit.test( 'Get adapted categories', function ( assert ) {
- QUnit.expect( 3 );
-
- function testGetAdaptedCategories( title ) {
- var deferred = $.Deferred();
-
- mw.cx.categoryTool = new mw.cx.CategoryTool(
mw.cx.siteMapper );
- mw.cx.sourceTitle = title;
- mw.cx.categoryTool.getCategories( 'adapted' )
- .done( function ( adaptedCategories ) {
- deferred.resolve( adaptedCategories );
- } );
-
- return deferred.promise();
- }
-
- QUnit.stop();
- testGetAdaptedCategories( 'Han Fei' )
- .done( function ( results ) {
- assert.equal( Object.keys( results ).length, 4,
- 'Correct number of adapted categories
retrieved (4 results)'
- );
- QUnit.start();
- } );
-
- QUnit.stop();
- testGetAdaptedCategories( 'Han' )
- .done( function ( results ) {
- assert.equal( Object.keys( results ).length, 1,
- 'Correct number of adapted categories
retrieved (1 result)'
- );
- QUnit.start();
- } );
-
- QUnit.stop();
- testGetAdaptedCategories( 'Shen Dao' )
- .done( function ( results ) {
- assert.equal( Object.keys( results ).length, 0,
- 'Correct number of adapted categories
retrieved (No results)'
- );
- QUnit.start();
- } );
-
- } );
-
- QUnit.test( 'Get target categories', function ( assert ) {
- QUnit.expect( 3 );
-
- function testGetTargetCategories( title ) {
- var deferred = $.Deferred();
-
- mw.cx.categoryTool = new mw.cx.CategoryTool(
mw.cx.siteMapper );
- mw.cx.sourceTitle = title;
- mw.cx.categoryTool.getCategories( 'target' )
- .done( function ( adaptedCategories ) {
- deferred.resolve( adaptedCategories );
- } );
-
- return deferred.promise();
- }
-
- QUnit.stop();
- testGetTargetCategories( 'Han Fei' )
- .done( function ( results ) {
- assert.equal( Object.keys( results ).length, 4,
- 'Correct number of target categories
retrieved (4 results)'
- );
- QUnit.start();
- } );
-
- QUnit.stop();
- testGetTargetCategories( 'Han' )
- .done( function ( results ) {
- assert.equal( Object.keys( results ).length, 1,
- 'Correct number of target categories
retrieved (1 result)'
- );
- QUnit.start();
- } );
-
- QUnit.stop();
- testGetTargetCategories( 'Shen Dao' )
- .done( function ( results ) {
- assert.equal( Object.keys( results ).length, 0,
- 'Correct number of target categories
retrieved (No results)'
- );
- QUnit.start();
- } );
-
} );
}( jQuery, mediaWiki ) );
--
To view, visit https://gerrit.wikimedia.org/r/191673
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I42025b94b5cb7be6d02b55f7259b64e4d8a6c7ea
Gerrit-PatchSet: 5
Gerrit-Project: mediawiki/extensions/ContentTranslation
Gerrit-Branch: master
Gerrit-Owner: Jsahleen <[email protected]>
Gerrit-Reviewer: Santhosh <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits