Merge "LoginForm: Pass username as first parameter to error message if aborted"
[lhc/web/wiklou.git] / tests / qunit / suites / resources / mediawiki / mediawiki.language.test.js
index 3fa2b09..9ca434f 100644 (file)
-QUnit.module( 'mediawiki.language', QUnit.newMwEnvironment({
-       setup: function () {
-               this.liveLangData = mw.language.data.values;
-               mw.language.data.values = $.extend( true, {}, this.liveLangData );
-       },
-       teardown: function () {
-               // Restore
-               mw.language.data.values = this.liveLangData;
-       }
-}) );
+( function ( mw, $ ) {
+       'use strict';
 
-QUnit.test( 'mw.language getData and setData', function ( assert ) {
-       QUnit.expect( 2 );
+       QUnit.module( 'mediawiki.language', QUnit.newMwEnvironment( {
+               setup: function () {
+                       this.liveLangData = mw.language.data.values;
+                       mw.language.data.values = $.extend( true, {}, this.liveLangData );
+               },
+               teardown: function () {
+                       mw.language.data.values = this.liveLangData;
+               }
+       } ) );
 
-       mw.language.setData( 'en', 'testkey', 'testvalue' );
-       assert.equal(  mw.language.getData( 'en', 'testkey' ), 'testvalue', 'Getter setter test for mw.language' );
-       assert.equal(  mw.language.getData( 'en', 'invalidkey' ), undefined, 'Getter setter test for mw.language with invalid key' );
-} );
+       QUnit.test( 'mw.language getData and setData', 2, function ( assert ) {
+               mw.language.setData( 'en', 'testkey', 'testvalue' );
+               assert.equal( mw.language.getData( 'en', 'testkey' ), 'testvalue', 'Getter setter test for mw.language' );
+               assert.equal( mw.language.getData( 'en', 'invalidkey' ), undefined, 'Getter setter test for mw.language with invalid key' );
+       } );
 
-function grammarTest( langCode, test ) {
-       // The test works only if the content language is opt.language
-       // because it requires [lang].js to be loaded.
-       QUnit.test( 'Grammar test for lang=' + langCode, function ( assert ) {
-               QUnit.expect( test.length );
+       function grammarTest( langCode, test ) {
+               // The test works only if the content language is opt.language
+               // because it requires [lang].js to be loaded.
+               QUnit.test( 'Grammar test for lang=' + langCode, function ( assert ) {
+                       QUnit.expect( test.length );
 
-               for ( var i = 0 ; i < test.length; i++ ) {
-                       assert.equal(
-                               mw.language.convertGrammar( test[i].word, test[i].grammarForm ),
-                               test[i].expected,
-                               test[i].description
-                       );
-               }
-       });
-}
+                       for ( var i = 0; i < test.length; i++ ) {
+                               assert.equal(
+                                       mw.language.convertGrammar( test[i].word, test[i].grammarForm ),
+                                       test[i].expected,
+                                       test[i].description
+                               );
+                       }
+               } );
+       }
 
-var grammarTests = {
-       bs: [
-               {
-                       word: 'word',
-                       grammarForm: 'instrumental',
-                       expected: 's word',
-                       description: 'Grammar test for instrumental case'
-               },
-               {
-                       word: 'word',
-                       grammarForm: 'lokativ',
-                       expected: 'o word',
-                       description: 'Grammar test for lokativ case'
-               }
-       ],
+       // These tests run only for the current UI language.
+       var grammarTests = {
+               bs: [
+                       {
+                               word: 'word',
+                               grammarForm: 'instrumental',
+                               expected: 's word',
+                               description: 'Grammar test for instrumental case'
+                       },
+                       {
+                               word: 'word',
+                               grammarForm: 'lokativ',
+                               expected: 'o word',
+                               description: 'Grammar test for lokativ case'
+                       }
+               ],
 
-       he: [
-               {
-                       word: "ויקיפדיה",
-                       grammarForm: 'prefixed',
-                       expected: "וויקיפדיה",
-                       description: 'Duplicate the "Waw" if prefixed'
-               },
-               {
-                       word: "וולפגנג",
-                       grammarForm: 'prefixed',
-                       expected: "וולפגנג",
-                       description: 'Duplicate the "Waw" if prefixed, but not if it is already duplicated.'
-               },
-               {
-                       word: "הקובץ",
-                       grammarForm: 'prefixed',
-                       expected: "קובץ",
-                       description: 'Remove the "He" if prefixed'
-               },
-               {
-                       word: 'Wikipedia',
-                       grammarForm: 'תחילית',
-                       expected: '־Wikipedia',
-                       description: 'GAdd a hyphen (maqaf) before non-Hebrew letters'
-               },
-               {
-                       word: '1995',
-                       grammarForm: 'תחילית',
-                       expected: '־1995',
-                       description: 'Add a hyphen (maqaf) before numbers'
-               }
-       ],
+               he: [
+                       {
+                               word: 'ויקיפדיה',
+                               grammarForm: 'prefixed',
+                               expected: 'וויקיפדיה',
+                               description: 'Duplicate the "Waw" if prefixed'
+                       },
+                       {
+                               word: 'וולפגנג',
+                               grammarForm: 'prefixed',
+                               expected: 'וולפגנג',
+                               description: 'Duplicate the "Waw" if prefixed, but not if it is already duplicated.'
+                       },
+                       {
+                               word: 'הקובץ',
+                               grammarForm: 'prefixed',
+                               expected: 'קובץ',
+                               description: 'Remove the "He" if prefixed'
+                       },
+                       {
+                               word: 'Wikipedia',
+                               grammarForm: 'תחילית',
+                               expected: '־Wikipedia',
+                               description: 'GAdd a hyphen (maqaf) before non-Hebrew letters'
+                       },
+                       {
+                               word: '1995',
+                               grammarForm: 'תחילית',
+                               expected: '־1995',
+                               description: 'Add a hyphen (maqaf) before numbers'
+                       }
+               ],
 
-       hsb: [
-               {
-                       word: 'word',
-                       grammarForm: 'instrumental',
-                       expected: 'z word',
-                       description: 'Grammar test for instrumental case'
-               },
-               {
-                       word: 'word',
-                       grammarForm: 'lokatiw',
-                       expected: 'wo word',
-                       description: 'Grammar test for lokatiw case'
-               }
-       ],
+               hsb: [
+                       {
+                               word: 'word',
+                               grammarForm: 'instrumental',
+                               expected: 'z word',
+                               description: 'Grammar test for instrumental case'
+                       },
+                       {
+                               word: 'word',
+                               grammarForm: 'lokatiw',
+                               expected: 'wo word',
+                               description: 'Grammar test for lokatiw case'
+                       }
+               ],
 
-       dsb: [
-               {
-                       word: 'word',
-                       grammarForm: 'instrumental',
-                       expected: 'z word',
-                       description: 'Grammar test for instrumental case'
-               },
-               {
-                       word: 'word',
-                       grammarForm: 'lokatiw',
-                       expected: 'wo word',
-                       description: 'Grammar test for lokatiw case'
-               }
-       ],
+               dsb: [
+                       {
+                               word: 'word',
+                               grammarForm: 'instrumental',
+                               expected: 'z word',
+                               description: 'Grammar test for instrumental case'
+                       },
+                       {
+                               word: 'word',
+                               grammarForm: 'lokatiw',
+                               expected: 'wo word',
+                               description: 'Grammar test for lokatiw case'
+                       }
+               ],
 
-       hy: [
-               {
-                       word: 'Մաունա',
-                       grammarForm: 'genitive',
-                       expected: 'Մաունայի',
-                       description: 'Grammar test for genitive case'
-               },
-               {
-                       word: 'հետո',
-                       grammarForm: 'genitive',
-                       expected: 'հետոյի',
-                       description: 'Grammar test for genitive case'
-               },
-               {
-                       word: 'գիրք',
-                       grammarForm: 'genitive',
-                       expected: 'գրքի',
-                       description: 'Grammar test for genitive case'
-               },
-               {
-                       word: 'ժամանակի',
-                       grammarForm: 'genitive',
-                       expected: 'ժամանակիի',
-                       description: 'Grammar test for genitive case'
-               }
-       ],
+               hy: [
+                       {
+                               word: 'Մաունա',
+                               grammarForm: 'genitive',
+                               expected: 'Մաունայի',
+                               description: 'Grammar test for genitive case'
+                       },
+                       {
+                               word: 'հետո',
+                               grammarForm: 'genitive',
+                               expected: 'հետոյի',
+                               description: 'Grammar test for genitive case'
+                       },
+                       {
+                               word: 'գիրք',
+                               grammarForm: 'genitive',
+                               expected: 'գրքի',
+                               description: 'Grammar test for genitive case'
+                       },
+                       {
+                               word: 'ժամանակի',
+                               grammarForm: 'genitive',
+                               expected: 'ժամանակիի',
+                               description: 'Grammar test for genitive case'
+                       }
+               ],
 
-       fi: [
-               {
-                       word: 'talo',
-                       grammarForm: 'genitive',
-                       expected: 'talon',
-                       description: 'Grammar test for genitive case'
-               },
-               {
-                       word: 'linux',
-                       grammarForm: 'genitive',
-                       expected: 'linuxin',
-                       description: 'Grammar test for genitive case'
-               },
-               {
-                       word: 'talo',
-                       grammarForm: 'elative',
-                       expected: 'talosta',
-                       description: 'Grammar test for elative case'
-               },
-               {
-                       word: 'pastöroitu',
-                       grammarForm: 'partitive',
-                       expected: 'pastöroitua',
-                       description: 'Grammar test for partitive case'
-               },
-               {
-                       word: 'talo',
-                       grammarForm: 'partitive',
-                       expected: 'taloa',
-                       description: 'Grammar test for partitive case'
-               },
-               {
-                       word: 'talo',
-                       grammarForm: 'illative',
-                       expected: 'taloon',
-                       description: 'Grammar test for illative case'
-               },
-               {
-                       word: 'linux',
-                       grammarForm: 'inessive',
-                       expected: 'linuxissa',
-                       description: 'Grammar test for inessive case'
-               }
-       ],
+               fi: [
+                       {
+                               word: 'talo',
+                               grammarForm: 'genitive',
+                               expected: 'talon',
+                               description: 'Grammar test for genitive case'
+                       },
+                       {
+                               word: 'linux',
+                               grammarForm: 'genitive',
+                               expected: 'linuxin',
+                               description: 'Grammar test for genitive case'
+                       },
+                       {
+                               word: 'talo',
+                               grammarForm: 'elative',
+                               expected: 'talosta',
+                               description: 'Grammar test for elative case'
+                       },
+                       {
+                               word: 'pastöroitu',
+                               grammarForm: 'partitive',
+                               expected: 'pastöroitua',
+                               description: 'Grammar test for partitive case'
+                       },
+                       {
+                               word: 'talo',
+                               grammarForm: 'partitive',
+                               expected: 'taloa',
+                               description: 'Grammar test for partitive case'
+                       },
+                       {
+                               word: 'talo',
+                               grammarForm: 'illative',
+                               expected: 'taloon',
+                               description: 'Grammar test for illative case'
+                       },
+                       {
+                               word: 'linux',
+                               grammarForm: 'inessive',
+                               expected: 'linuxissa',
+                               description: 'Grammar test for inessive case'
+                       }
+               ],
 
-       ru: [
-               {
-                       word: 'тесть',
-                       grammarForm: 'genitive',
-                       expected: 'тестя',
-                       description: 'Grammar test for genitive case'
-               },
-               {
-                       word: 'привилегия',
-                       grammarForm: 'genitive',
-                       expected: 'привилегии',
-                       description: 'Grammar test for genitive case'
-               },
-               {
-                       word: 'установка',
-                       grammarForm: 'genitive',
-                       expected: 'установки',
-                       description: 'Grammar test for genitive case'
-               },
-               {
-                       word: 'похоти',
-                       grammarForm: 'genitive',
-                       expected: 'похотей',
-                       description: 'Grammar test for genitive case'
-               },
-               {
-                       word: 'доводы',
-                       grammarForm: 'genitive',
-                       expected: 'доводов',
-                       description: 'Grammar test for genitive case'
-               },
-               {
-                       word: 'песчаник',
-                       grammarForm: 'genitive',
-                       expected: 'песчаника',
-                       description: 'Grammar test for genitive case'
-               }
-       ],
+               ru: [
+                       {
+                               word: 'тесть',
+                               grammarForm: 'genitive',
+                               expected: 'тестя',
+                               description: 'Grammar test for genitive case, тесть -> тестя'
+                       },
+                       {
+                               word: 'привилегия',
+                               grammarForm: 'genitive',
+                               expected: 'привилегии',
+                               description: 'Grammar test for genitive case, привилегия -> привилегии'
+                       },
+                       {
+                               word: 'установка',
+                               grammarForm: 'genitive',
+                               expected: 'установки',
+                               description: 'Grammar test for genitive case, установка -> установки'
+                       },
+                       {
+                               word: 'похоти',
+                               grammarForm: 'genitive',
+                               expected: 'похотей',
+                               description: 'Grammar test for genitive case, похоти -> похотей'
+                       },
+                       {
+                               word: 'доводы',
+                               grammarForm: 'genitive',
+                               expected: 'доводов',
+                               description: 'Grammar test for genitive case, доводы -> доводов'
+                       },
+                       {
+                               word: 'песчаник',
+                               grammarForm: 'genitive',
+                               expected: 'песчаника',
+                               description: 'Grammar test for genitive case, песчаник -> песчаника'
+                       },
+                       {
+                               word: 'данные',
+                               grammarForm: 'genitive',
+                               expected: 'данных',
+                               description: 'Grammar test for genitive case, данные -> данных'
+                       },
+                       {
+                               word: 'тесть',
+                               grammarForm: 'prepositional',
+                               expected: 'тесте',
+                               description: 'Grammar test for prepositional case, тесть -> тесте'
+                       },
+                       {
+                               word: 'привилегия',
+                               grammarForm: 'prepositional',
+                               expected: 'привилегии',
+                               description: 'Grammar test for prepositional case, привилегия -> привилегии'
+                       },
+                       {
+                               word: 'установка',
+                               grammarForm: 'prepositional',
+                               expected: 'установке',
+                               description: 'Grammar test for prepositional case, установка -> установке'
+                       },
+                       {
+                               word: 'похоти',
+                               grammarForm: 'prepositional',
+                               expected: 'похотях',
+                               description: 'Grammar test for prepositional case, похоти -> похотях'
+                       },
+                       {
+                               word: 'доводы',
+                               grammarForm: 'prepositional',
+                               expected: 'доводах',
+                               description: 'Grammar test for prepositional case, доводы -> доводах'
+                       },
+                       {
+                               word: 'песчаник',
+                               grammarForm: 'prepositional',
+                               expected: 'песчанике',
+                               description: 'Grammar test for prepositional case, песчаник -> песчанике'
+                       },
+                       {
+                               word: 'данные',
+                               grammarForm: 'prepositional',
+                               expected: 'данных',
+                               description: 'Grammar test for prepositional case, данные -> данных'
+                       }
+               ],
 
+               hu: [
+                       {
+                               word: 'Wikipédiá',
+                               grammarForm: 'rol',
+                               expected: 'Wikipédiáról',
+                               description: 'Grammar test for rol case'
+                       },
+                       {
+                               word: 'Wikipédiá',
+                               grammarForm: 'ba',
+                               expected: 'Wikipédiába',
+                               description: 'Grammar test for ba case'
+                       },
+                       {
+                               word: 'Wikipédiá',
+                               grammarForm: 'k',
+                               expected: 'Wikipédiák',
+                               description: 'Grammar test for k case'
+                       }
+               ],
 
-       hu: [
-               {
-                       word: 'Wikipédiá',
-                       grammarForm: 'rol',
-                       expected: 'Wikipédiáról',
-                       description: 'Grammar test for rol case'
-               },
-               {
-                       word: 'Wikipédiá',
-                       grammarForm: 'ba',
-                       expected: 'Wikipédiába',
-                       description: 'Grammar test for ba case'
-               },
-               {
-                       word: 'Wikipédiá',
-                       grammarForm: 'k',
-                       expected: 'Wikipédiák',
-                       description: 'Grammar test for k case'
-               }
-       ],
+               ga: [
+                       {
+                               word: 'an Domhnach',
+                               grammarForm: 'ainmlae',
+                               expected: 'Dé Domhnaigh',
+                               description: 'Grammar test for ainmlae case'
+                       },
+                       {
+                               word: 'an Luan',
+                               grammarForm: 'ainmlae',
+                               expected: 'Dé Luain',
+                               description: 'Grammar test for ainmlae case'
+                       },
+                       {
+                               word: 'an Satharn',
+                               grammarForm: 'ainmlae',
+                               expected: 'Dé Sathairn',
+                               description: 'Grammar test for ainmlae case'
+                       }
+               ],
 
-       ga: [
-               {
-                       word: 'an Domhnach',
-                       grammarForm: 'ainmlae',
-                       expected: 'Dé Domhnaigh',
-                       description: 'Grammar test for ainmlae case'
-               },
-               {
-                       word: 'an Luan',
-                       grammarForm: 'ainmlae',
-                       expected: 'Dé Luain',
-                       description: 'Grammar test for ainmlae case'
-               },
-               {
-                       word: 'an Satharn',
-                       grammarForm: 'ainmlae',
-                       expected: 'Dé Sathairn',
-                       description: 'Grammar test for ainmlae case'
-               }
-       ],
+               uk: [
+                       {
+                               word: 'тесть',
+                               grammarForm: 'genitive',
+                               expected: 'тестя',
+                               description: 'Grammar test for genitive case'
+                       },
+                       {
+                               word: 'Вікіпедія',
+                               grammarForm: 'genitive',
+                               expected: 'Вікіпедії',
+                               description: 'Grammar test for genitive case'
+                       },
+                       {
+                               word: 'установка',
+                               grammarForm: 'genitive',
+                               expected: 'установки',
+                               description: 'Grammar test for genitive case'
+                       },
+                       {
+                               word: 'похоти',
+                               grammarForm: 'genitive',
+                               expected: 'похотей',
+                               description: 'Grammar test for genitive case'
+                       },
+                       {
+                               word: 'доводы',
+                               grammarForm: 'genitive',
+                               expected: 'доводов',
+                               description: 'Grammar test for genitive case'
+                       },
+                       {
+                               word: 'песчаник',
+                               grammarForm: 'genitive',
+                               expected: 'песчаника',
+                               description: 'Grammar test for genitive case'
+                       },
+                       {
+                               word: 'Вікіпедія',
+                               grammarForm: 'accusative',
+                               expected: 'Вікіпедію',
+                               description: 'Grammar test for accusative case'
+                       }
+               ],
 
-       uk: [
-               {
-                       word: 'тесть',
-                       grammarForm: 'genitive',
-                       expected: 'тестя',
-                       description: 'Grammar test for genitive case'
-               },
-               {
-                       word: 'Вікіпедія',
-                       grammarForm: 'genitive',
-                       expected: 'Вікіпедії',
-                       description: 'Grammar test for genitive case'
-               },
-               {
-                       word: 'установка',
-                       grammarForm: 'genitive',
-                       expected: 'установки',
-                       description: 'Grammar test for genitive case'
-               },
-               {
-                       word: 'похоти',
-                       grammarForm: 'genitive',
-                       expected: 'похотей',
-                       description: 'Grammar test for genitive case'
-               },
-               {
-                       word: 'доводы',
-                       grammarForm: 'genitive',
-                       expected: 'доводов',
-                       description: 'Grammar test for genitive case'
-               },
-               {
-                       word: 'песчаник',
-                       grammarForm: 'genitive',
-                       expected: 'песчаника',
-                       description: 'Grammar test for genitive case'
-               },
-               {
-                       word: 'Вікіпедія',
-                       grammarForm: 'accusative',
-                       expected: 'Вікіпедію',
-                       description: 'Grammar test for accusative case'
-               }
-       ],
+               sl: [
+                       {
+                               word: 'word',
+                               grammarForm: 'orodnik',
+                               expected: 'z word',
+                               description: 'Grammar test for orodnik case'
+                       },
+                       {
+                               word: 'word',
+                               grammarForm: 'mestnik',
+                               expected: 'o word',
+                               description: 'Grammar test for mestnik case'
+                       }
+               ],
 
-       sl: [
-               {
-                       word: 'word',
-                       grammarForm: 'orodnik',
-                       expected: 'z word',
-                       description: 'Grammar test for orodnik case'
-               },
-               {
-                       word: 'word',
-                       grammarForm: 'mestnik',
-                       expected: 'o word',
-                       description: 'Grammar test for mestnik case'
-               }
-       ],
+               os: [
+                       {
+                               word: 'бæстæ',
+                               grammarForm: 'genitive',
+                               expected: 'бæсты',
+                               description: 'Grammar test for genitive case'
+                       },
+                       {
+                               word: 'бæстæ',
+                               grammarForm: 'allative',
+                               expected: 'бæстæм',
+                               description: 'Grammar test for allative case'
+                       },
+                       {
+                               word: 'Тигр',
+                               grammarForm: 'dative',
+                               expected: 'Тигрæн',
+                               description: 'Grammar test for dative case'
+                       },
+                       {
+                               word: 'цъити',
+                               grammarForm: 'dative',
+                               expected: 'цъитийæн',
+                               description: 'Grammar test for dative case'
+                       },
+                       {
+                               word: 'лæппу',
+                               grammarForm: 'genitive',
+                               expected: 'лæппуйы',
+                               description: 'Grammar test for genitive case'
+                       },
+                       {
+                               word: '2011',
+                               grammarForm: 'equative',
+                               expected: '2011-ау',
+                               description: 'Grammar test for equative case'
+                       }
+               ],
 
-       os: [
-               {
-                       word: 'бæстæ',
-                       grammarForm: 'genitive',
-                       expected: 'бæсты',
-                       description: 'Grammar test for genitive case'
-               },
-               {
-                       word: 'бæстæ',
-                       grammarForm: 'allative',
-                       expected: 'бæстæм',
-                       description: 'Grammar test for allative case'
-               },
-               {
-                       word: 'Тигр',
-                       grammarForm: 'dative',
-                       expected: 'Тигрæн',
-                       description: 'Grammar test for dative case'
-               },
-               {
-                       word: 'цъити',
-                       grammarForm: 'dative',
-                       expected: 'цъитийæн',
-                       description: 'Grammar test for dative case'
-               },
-               {
-                       word: 'лæппу',
-                       grammarForm: 'genitive',
-                       expected: 'лæппуйы',
-                       description: 'Grammar test for genitive case'
-               },
-               {
-                       word: '2011',
-                       grammarForm: 'equative',
-                       expected: '2011-ау',
-                       description: 'Grammar test for equative case'
-               }
-       ],
+               la: [
+                       {
+                               word: 'Translatio',
+                               grammarForm: 'genitive',
+                               expected: 'Translationis',
+                               description: 'Grammar test for genitive case'
+                       },
+                       {
+                               word: 'Translatio',
+                               grammarForm: 'accusative',
+                               expected: 'Translationem',
+                               description: 'Grammar test for accusative case'
+                       },
+                       {
+                               word: 'Translatio',
+                               grammarForm: 'ablative',
+                               expected: 'Translatione',
+                               description: 'Grammar test for ablative case'
+                       }
+               ]
+       };
 
-       la: [
-               {
-                       word: 'Translatio',
-                       grammarForm: 'genitive',
-                       expected: 'Translationis',
-                       description: 'Grammar test for genitive case'
-               },
-               {
-                       word: 'Translatio',
-                       grammarForm: 'accusative',
-                       expected: 'Translationem',
-                       description: 'Grammar test for accusative case'
-               },
-               {
-                       word: 'Translatio',
-                       grammarForm: 'ablative',
-                       expected: 'Translatione',
-                       description: 'Grammar test for ablative case'
+       $.each( grammarTests, function ( langCode, test ) {
+               if ( langCode === mw.config.get( 'wgUserLanguage' ) ) {
+                       grammarTest( langCode, test );
                }
-       ]
-};
-
-$.each( grammarTests, function ( langCode, test ) {
-       if ( langCode === mw.config.get( 'wgUserLanguage' ) ) {
-               grammarTest( langCode, test );
-       }
-});
+       } );
+}( mediaWiki, jQuery ) );