Remove MediaWiki overrides for plural rules for Scots Gaelic (gd)
authorSanthosh Thottingal <santhosh.thottingal@gmail.com>
Thu, 14 Feb 2013 10:26:13 +0000 (15:56 +0530)
committerSiebrand Mazeland <s.mazeland@xs4all.nl>
Tue, 26 Feb 2013 15:50:56 +0000 (16:50 +0100)
Also cleanup the tests.

Change-Id: Ic29026a7a8128b890882b8869569309ab05e4226

languages/data/plurals-mediawiki.xml
tests/phpunit/languages/LanguageGdTest.php

index 0a380a6..14ee09b 100644 (file)
                        <pluralRule count="two">n mod 10 is 2</pluralRule>
                        <pluralRule count="few">n mod 10 in 3..4</pluralRule>
                </pluralRules>
-               <!-- Plural form transformations
-               Based on this discussion: http://translatewiki.net/wiki/Thread:Support/New_plural_rules_for_Scots_Gaelic_(gd)
-               $forms[0] - 1
-               $forms[1] - 2
-               $forms[2] - 11
-               $forms[3] - 12
-               $forms[4] - 3-10, 13-19
-               $forms[5] - 0, 20, rest -->
-               <pluralRules locales="gd">
-                       <pluralRule count="one">n is 1</pluralRule>
-                       <pluralRule count="two">n is 2</pluralRule>
-                       <pluralRule count="elevan">n is 11</pluralRule>
-                       <pluralRule count="twelve">n is 12</pluralRule>
-                       <pluralRule count="few">n in 3..10 or n in 13..19</pluralRule>
-               </pluralRules>
                <!-- Hopefully temporary overrides for bug 40251 -->
                <pluralRules locales="fa hu ja vi">
                        <pluralRule count="one">n is 1</pluralRule>
index 409820f..5de1e9d 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /**
  * @author Santhosh Thottingal
- * @copyright Copyright © 2012, Santhosh Thottingal
+ * @copyright Copyright © 2012-2013, Santhosh Thottingal
  * @file
  */
 
@@ -10,22 +10,39 @@ class LanguageGdTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPlural */
        function testPlural( $result, $value ) {
-               // The CLDR ticket for this plural forms is not same as mw plural forms. See http://unicode.org/cldr/trac/ticket/2883
-               $forms = array( 'Form 1', 'Form 2', 'Form 3', 'Form 4', 'Form 5', 'Form 6' );
+               $forms = array( 'one', 'two', 'few', 'other' );
                $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPlural() {
-               return array(
-                       array( 'Form 6', 0 ),
-                       array( 'Form 1', 1 ),
-                       array( 'Form 2', 2 ),
-                       array( 'Form 3', 11 ),
-                       array( 'Form 4', 12 ),
-                       array( 'Form 5', 3 ),
-                       array( 'Form 5', 19 ),
-                       array( 'Form 6', 200 ),
+               return array (
+                       array( 'other', 0 ),
+                       array( 'one', 1 ),
+                       array( 'two', 2 ),
+                       array( 'one', 11 ),
+                       array( 'two', 12 ),
+                       array( 'few', 3 ),
+                       array( 'few', 19 ),
+                       array( 'other', 200 ),
                );
        }
 
+       /** @dataProvider providerPluralExplicit */
+       function testExplicitPlural( $result, $value ) {
+               $forms = array( 'one', 'two', 'few', 'other', '11=Form11', '12=Form12' );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
+       }
+
+       function providerPluralExplicit() {
+               return array (
+                               array( 'other', 0 ),
+                               array( 'one', 1 ),
+                               array( 'two', 2 ),
+                               array( 'Form11', 11 ),
+                               array( 'Form12', 12 ),
+                               array( 'few', 3 ),
+                               array( 'few', 19 ),
+                               array( 'other', 200 ),
+               );
+       }
 }