Merge "Worked around hash path inconsistency to unbreak stash file thumbs."
[lhc/web/wiklou.git] / tests / qunit / suites / resources / mediawiki / mediawiki.cldr.test.js
1 QUnit.module( 'mediawiki.cldr', QUnit.newMwEnvironment() );
2
3 var pluralTestcases = {
4 /*
5 * Sample:
6 * "languagecode" : [
7 * [ number, [ "form1", "form2", ... ], "expected", "description" ]
8 * ];
9 */
10 "en": [
11 [ 0, [ "one", "other" ], "other", "English plural test- 0 is other" ],
12 [ 1, [ "one", "other" ], "one", "English plural test- 1 is one" ]
13 ],
14 "hi": [
15 [ 0, [ "one", "other" ], "one", "Hindi plural test- 0 is one" ],
16 [ 1, [ "one", "other" ], "one", "Hindi plural test- 1 is one" ],
17 [ 2, [ "one", "other" ], "other", "Hindi plural test- 2 is other" ]
18 ],
19 "he": [
20 [ 0, [ "one", "other" ], "other", "Hebrew plural test- 0 is other" ],
21 [ 1, [ "one", "other" ], "one", "Hebrew plural test- 1 is one" ],
22 [ 2, [ "one", "other" ], "other", "Hebrew plural test- 2 is other with 2 forms" ],
23 [ 2, [ "one", "dual", "other" ], "dual", "Hebrew plural test- 2 is dual with 3 forms" ]
24 ],
25 "ar": [
26 [ 0, [ "zero", "one", "two", "few", "many", "other" ], "zero", "Arabic plural test - 0 is zero" ],
27 [ 1, [ "zero", "one", "two", "few", "many", "other" ], "one", "Arabic plural test - 1 is one" ],
28 [ 2, [ "zero", "one", "two", "few", "many", "other" ], "two", "Arabic plural test - 2 is two" ],
29 [ 3, [ "zero", "one", "two", "few", "many", "other" ], "few", "Arabic plural test - 3 is few" ],
30 [ 9, [ "zero", "one", "two", "few", "many", "other" ], "few", "Arabic plural test - 9 is few" ],
31 [ "9", [ "zero", "one", "two", "few", "many", "other" ], "few", "Arabic plural test - 9 is few" ],
32 [ 110, [ "zero", "one", "two", "few", "many", "other" ], "few", "Arabic plural test - 110 is few" ],
33 [ 11, [ "zero", "one", "two", "few", "many", "other" ], "many", "Arabic plural test - 11 is many" ],
34 [ 15, [ "zero", "one", "two", "few", "many", "other" ], "many", "Arabic plural test - 15 is many" ],
35 [ 99, [ "zero", "one", "two", "few", "many", "other" ], "many", "Arabic plural test - 99 is many" ],
36 [ 9999, [ "zero", "one", "two", "few", "many", "other" ], "many", "Arabic plural test - 9999 is many" ],
37 [ 100, [ "zero", "one", "two", "few", "many", "other" ], "other", "Arabic plural test - 100 is other" ],
38 [ 102, [ "zero", "one", "two", "few", "many", "other" ], "other", "Arabic plural test - 102 is other" ],
39 [ 1000, [ "zero", "one", "two", "few", "many", "other" ], "other", "Arabic plural test - 1000 is other" ],
40 [ 1.7, [ "zero", "one", "two", "few", "many", "other" ], "other", "Arabic plural test - 1.7 is other" ]
41 ]
42 };
43
44 function pluralTest( langCode, tests ) {
45 QUnit.test( 'Plural Test for ' + langCode, tests.length, function ( assert ) {
46 for ( var i = 0; i < tests.length; i++ ) {
47 assert.equal(
48 mw.language.convertPlural( tests[i][0], tests[i][1] ),
49 tests[i][2],
50 tests[i][3]
51 );
52 }
53 } );
54 }
55
56 $.each( pluralTestcases, function ( langCode, tests ) {
57 if ( langCode === mw.config.get( 'wgUserLanguage' ) ) {
58 pluralTest( langCode, tests );
59 }
60 } );