Adrian Lang has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/172968

Change subject: Move getLanguageNameByCode out of wikibase.js
......................................................................

Move getLanguageNameByCode out of wikibase.js

Change-Id: I00ce9e98bb10e66c2654afa70fcd593b6c9f13d8
---
M lib/resources/Resources.php
M lib/resources/jquery.wikibase/resources.php
M lib/resources/wikibase.js
M lib/tests/qunit/wikibase.tests.js
M repo/resources/Resources.php
A repo/resources/wikibase.getLanguageNameByCode.js
M repo/tests/qunit/resources.php
A repo/tests/qunit/wikibase.getLanguageNameByCode.tests.js
8 files changed, 107 insertions(+), 82 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/68/172968/1

diff --git a/lib/resources/Resources.php b/lib/resources/Resources.php
index 5466f36..66088d0 100644
--- a/lib/resources/Resources.php
+++ b/lib/resources/Resources.php
@@ -179,7 +179,6 @@
        );
 
        if ( defined( 'ULS_VERSION' ) ) {
-               $modules['wikibase']['dependencies'][] = 'ext.uls.mediawiki';
                $modules['wikibase.Site']['dependencies'][] = 
'ext.uls.mediawiki';
        }
 
diff --git a/lib/resources/jquery.wikibase/resources.php 
b/lib/resources/jquery.wikibase/resources.php
index 312fb0b..f242084 100644
--- a/lib/resources/jquery.wikibase/resources.php
+++ b/lib/resources/jquery.wikibase/resources.php
@@ -78,7 +78,6 @@
                                'jquery.wikibase.claimlistview',
                                'jquery.wikibase.listview',
                                'jquery.wikibase.toolbarcontroller',
-                               'wikibase',
                                'wikibase.datamodel',
                        ),
                ),
@@ -94,7 +93,6 @@
                                'jquery.wikibase.listview',
                                'jquery.wikibase.statementview',
                                'jquery.wikibase.toolbarcontroller',
-                               'wikibase',
                                'wikibase.datamodel',
                                'wikibase.templates',
                                'wikibase.utilities',
@@ -134,8 +132,8 @@
                                'jquery.ui.TemplatedWidget',
                                'jquery.wikibase.edittoolbar',
                                'jquery.wikibase.toolbarcontroller',
-                               'wikibase',
                                'wikibase.datamodel.Term',
+                               'wikibase.getLanguageNameByCode',
                        ),
                        'messages' => array(
                                'wikibase-description-edit-placeholder',
@@ -182,9 +180,9 @@
                                'jquery.wikibase.toolbarcontroller',
                                'jquery.wikibase.sitelinkgrouplistview',
                                'jquery.wikibase.statementview',
-                               'wikibase',
                                'wikibase.datamodel.MultiTerm',
                                'wikibase.datamodel.Term',
+                               'wikibase.getLanguageNameByCode',
                                'wikibase.templates',
                        ),
                        'messages' => array(
@@ -217,9 +215,9 @@
                                
'themes/default/jquery.wikibase.fingerprintlistview.css',
                        ),
                        'dependencies' => array(
-                               'wikibase',
                                'jquery.ui.TemplatedWidget',
                                'jquery.wikibase.fingerprintview',
+                               'wikibase.getLanguageNameByCode',
                        ),
                        'messages' => array(
                                'wikibase-fingerprintview-input-help-message',
@@ -240,7 +238,7 @@
                                'jquery.wikibase.labelview',
                                'jquery.wikibase.toolbarcontroller',
                                'mediawiki.Title',
-                               'wikibase',
+                               'wikibase.getLanguageNameByCode',
                        ),
                        'messages' => array(
                                'wikibase-fingerprintview-input-help-message',
@@ -258,8 +256,8 @@
                                'jquery.ui.TemplatedWidget',
                                'jquery.wikibase.edittoolbar',
                                'jquery.wikibase.toolbarcontroller',
-                               'wikibase',
                                'wikibase.datamodel.Term',
+                               'wikibase.getLanguageNameByCode',
                        ),
                        'messages' => array(
                                'parentheses',
@@ -357,7 +355,6 @@
                                'jquery.wikibase.listview',
                                'jquery.wikibase.sitelinkview',
                                'jquery.wikibase.toolbarcontroller',
-                               'wikibase',
                                'wikibase.datamodel',
                                'wikibase.sites',
                                'wikibase.templates',
diff --git a/lib/resources/wikibase.js b/lib/resources/wikibase.js
index 709750b..7073cbe 100644
--- a/lib/resources/wikibase.js
+++ b/lib/resources/wikibase.js
@@ -9,46 +9,3 @@
 this.wikibase = this.wikibase || {};
 
 this.wb = this.wikibase;
-
-( function ( wb, mw, $ ) {
-       'use strict';
-
-       /**
-        * Tries to retrieve Universal Language Selector's set of languages.
-        *
-        * TODO: Further decouple this from ULS. Make the languages known to 
Wikibase a config thing
-        *  and use ULS as source for that language information, then inject it 
into Wikibase upon
-        *  initialization. This way, everything beyond extension 
initialization doesn't have to know
-        *  about ULS.
-        *
-        * @return {Object} Set of languages (empty object when ULS is not 
available)
-        */
-       wb.getLanguages = function() {
-               return $.uls && $.uls.data.languages || {};
-       };
-
-       /**
-        * Returns the name of a language in that language, if available 
(currently requires ULS).
-        * Falls back to the language code.
-        *
-        * @param {string} langCode
-        * @return string
-        */
-       wb.getNativeLanguageName = function( langCode ) {
-               var language = wb.getLanguages()[ langCode ];
-               return language && language[2] || langCode;
-       };
-
-       /**
-        * Returns the name of a language in the UI language, if available 
(currently requires ULS).
-        * Falls back to getNativeLanguageName, which may fall back to the 
language code.
-        *
-        * @param {string} langCode
-        * @return string
-        */
-       wb.getLanguageNameByCode = function( langCode ) {
-               var ulsLanguages = mw.config.get( 'wgULSLanguages' );
-               return ulsLanguages && ulsLanguages[langCode] || 
wb.getNativeLanguageName( langCode );
-       };
-
-} )( wikibase, mediaWiki, jQuery );
diff --git a/lib/tests/qunit/wikibase.tests.js 
b/lib/tests/qunit/wikibase.tests.js
index 2202925..eed754e 100644
--- a/lib/tests/qunit/wikibase.tests.js
+++ b/lib/tests/qunit/wikibase.tests.js
@@ -26,34 +26,4 @@
                );
        } );
 
-       QUnit.test( 'wikibase.getLanguages()', 1, function( assert ) {
-               assert.ok(
-                       $.isPlainObject( wb.getLanguages() ),
-                       'getLanguages() returns a plain object'
-               );
-       } );
-
-       QUnit.test( 'wikibase.getLanguageNameByCode()', 2, function( assert ) {
-               // TODO: Don't assume global state, control what languages are 
available for this test!
-               if( $.uls !== undefined ) {
-                       assert.strictEqual(
-                               wb.getLanguageNameByCode( 'de' ),
-                               'Deutsch',
-                               'getLanguageNameByCode() returns language name.'
-                       );
-               } else {
-                       assert.strictEqual(
-                               wb.getLanguageNameByCode( 'de' ),
-                               'de',
-                               'getLanguageNameByCode() returns language code 
(ULS not loaded).'
-                       );
-               }
-
-               assert.strictEqual(
-                       wb.getLanguageNameByCode( 'nonexistantlanguagecode' ),
-                       'nonexistantlanguagecode',
-                       'getLanguageNameByCode() returns language code if 
unknown code.'
-               );
-       } );
-
 }( wikibase, jQuery, QUnit ) );
diff --git a/repo/resources/Resources.php b/repo/resources/Resources.php
index f6bcb66..8fe7fa7 100644
--- a/repo/resources/Resources.php
+++ b/repo/resources/Resources.php
@@ -50,6 +50,15 @@
                        ),
                ),
 
+               'wikibase.getLanguageNameByCode' => $moduleTemplate + array(
+                       'scripts' => array(
+                               'wikibase.getLanguageNameByCode.js'
+                       ),
+                       'dependencies' => array(
+                               'wikibase'
+                       )
+               ),
+
                'wikibase.templates' => $moduleTemplate + array(
                        'class' => 'Wikibase\TemplateModule',
                        'scripts' => 'templates.js',
@@ -175,6 +184,7 @@
        );
 
        if ( defined( 'ULS_VERSION' ) ) {
+               $modules['wikibase.getLanguageNameByCode']['dependencies'][] = 
'ext.uls.mediawiki';
                $modules['wikibase.initTermBox']['dependencies'][] = 
'ext.uls.displaysettings';
                $modules['wikibase.initTermBox']['dependencies'][] = 
'ext.uls.mediawiki';
                
$modules['wikibase.special.itemDisambiguation']['dependencies'][] = 
'ext.uls.mediawiki';
diff --git a/repo/resources/wikibase.getLanguageNameByCode.js 
b/repo/resources/wikibase.getLanguageNameByCode.js
new file mode 100644
index 0000000..ce40742
--- /dev/null
+++ b/repo/resources/wikibase.getLanguageNameByCode.js
@@ -0,0 +1,49 @@
+/**
+ * JavaScript for 'wikibase' extension
+ * @see https://www.mediawiki.org/wiki/Extension:Wikibase
+ *
+ * @licence GNU GPL v2+
+ * @author Daniel Werner < daniel.werner at wikimedia.de >
+ */
+( function ( wb, mw, $ ) {
+       'use strict';
+
+       /**
+        * Tries to retrieve Universal Language Selector's set of languages.
+        *
+        * TODO: Further decouple this from ULS. Make the languages known to 
Wikibase a config thing
+        *  and use ULS as source for that language information, then inject it 
into Wikibase upon
+        *  initialization. This way, everything beyond extension 
initialization doesn't have to know
+        *  about ULS.
+        *
+        * @return {Object} Set of languages (empty object when ULS is not 
available)
+        */
+       var getLanguages = function() {
+               return $.uls && $.uls.data.languages || {};
+       };
+
+       /**
+        * Returns the name of a language in that language, if available 
(currently requires ULS).
+        * Falls back to the language code.
+        *
+        * @param {string} langCode
+        * @return string
+        */
+       var getNativeLanguageName = function( langCode ) {
+               var language = getLanguages()[ langCode ];
+               return language && language[2] || langCode;
+       };
+
+       /**
+        * Returns the name of a language in the UI language, if available 
(currently requires ULS).
+        * Falls back to getNativeLanguageName, which may fall back to the 
language code.
+        *
+        * @param {string} langCode
+        * @return string
+        */
+       wb.getLanguageNameByCode = function( langCode ) {
+               var ulsLanguages = mw.config.get( 'wgULSLanguages' );
+               return ulsLanguages && ulsLanguages[langCode] || 
getNativeLanguageName( langCode );
+       };
+
+} )( wikibase, mediaWiki, jQuery );
diff --git a/repo/tests/qunit/resources.php b/repo/tests/qunit/resources.php
index 4f49c1a..26c8d60 100644
--- a/repo/tests/qunit/resources.php
+++ b/repo/tests/qunit/resources.php
@@ -36,6 +36,15 @@
                        ),
                ),
 
+               'wikibase.getLanguageNameByCode.tests' => $moduleBase + array(
+                       'scripts' => array(
+                               'wikibase.getLanguageNameByCode.tests.js'
+                       ),
+                       'dependencies' => array(
+                               'wikibase.getLanguageNameByCode'
+                       )
+               ),
+
        );
 
        return array_merge(
diff --git a/repo/tests/qunit/wikibase.getLanguageNameByCode.tests.js 
b/repo/tests/qunit/wikibase.getLanguageNameByCode.tests.js
new file mode 100644
index 0000000..ff8fac6
--- /dev/null
+++ b/repo/tests/qunit/wikibase.getLanguageNameByCode.tests.js
@@ -0,0 +1,34 @@
+/**
+ * @licence GNU GPL v2+
+ * @author Daniel Werner < [email protected] >
+ */
+
+( function( wb, $, QUnit ) {
+       'use strict';
+
+       QUnit.module( 'wikibase.getLanguageNameByCode' );
+
+       QUnit.test( 'wikibase.getLanguageNameByCode()', 2, function( assert ) {
+               // TODO: Don't assume global state, control what languages are 
available for this test!
+               if( $.uls !== undefined ) {
+                       assert.strictEqual(
+                               wb.getLanguageNameByCode( 'de' ),
+                               'Deutsch',
+                               'getLanguageNameByCode() returns language name.'
+                       );
+               } else {
+                       assert.strictEqual(
+                               wb.getLanguageNameByCode( 'de' ),
+                               'de',
+                               'getLanguageNameByCode() returns language code 
(ULS not loaded).'
+                       );
+               }
+
+               assert.strictEqual(
+                       wb.getLanguageNameByCode( 'nonexistantlanguagecode' ),
+                       'nonexistantlanguagecode',
+                       'getLanguageNameByCode() returns language code if 
unknown code.'
+               );
+       } );
+
+}( wikibase, jQuery, QUnit ) );

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I00ce9e98bb10e66c2654afa70fcd593b6c9f13d8
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Adrian Lang <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to