https://www.mediawiki.org/wiki/Special:Code/MediaWiki/110103

Revision: 110103
Author:   santhosh
Date:     2012-01-27 06:01:43 +0000 (Fri, 27 Jan 2012)
Log Message:
-----------
phpunit testcases on the plural rules for am, ar, be, be_tarask, bh, bs and hi 
languages

Modified Paths:
--------------
    trunk/phase3/tests/phpunit/languages/LanguageArTest.php
    trunk/phase3/tests/phpunit/languages/LanguageBe_taraskTest.php

Added Paths:
-----------
    trunk/phase3/tests/phpunit/languages/LanguageAmTest.php
    trunk/phase3/tests/phpunit/languages/LanguageBeTest.php
    trunk/phase3/tests/phpunit/languages/LanguageBhTest.php
    trunk/phase3/tests/phpunit/languages/LanguageBsTest.php
    trunk/phase3/tests/phpunit/languages/LanguageHiTest.php

Added: trunk/phase3/tests/phpunit/languages/LanguageAmTest.php
===================================================================
--- trunk/phase3/tests/phpunit/languages/LanguageAmTest.php                     
        (rev 0)
+++ trunk/phase3/tests/phpunit/languages/LanguageAmTest.php     2012-01-27 
06:01:43 UTC (rev 110103)
@@ -0,0 +1,33 @@
+<?php
+/**
+ * @author Santhosh Thottingal
+ * @copyright Copyright © 2012, Santhosh Thottingal
+ * @file
+ */
+
+/** Tests for MediaWiki languages/LanguageAm.php */
+class LanguageAmTest extends MediaWikiTestCase {
+       private $lang;
+
+       function setUp() {
+               $this->lang = Language::factory( 'Am' );
+       }
+       function tearDown() {
+               unset( $this->lang );
+       }
+
+       /** @dataProvider providePlural */
+       function testPlural( $result, $value ) {
+               $forms =  array( 'one', 'other' );
+               $this->assertEquals( $result, $this->lang->convertPlural( 
$value, $forms ) );
+       }
+
+       function providePlural() {
+               return array (
+                       array( 'one', 0 ),
+                       array( 'one', 1 ),
+                       array( 'other', 2 ),
+                       array( 'other', 200 ),
+               );
+       }
+}


Property changes on: trunk/phase3/tests/phpunit/languages/LanguageAmTest.php
___________________________________________________________________
Added: svn:eol-style
   + native

Modified: trunk/phase3/tests/phpunit/languages/LanguageArTest.php
===================================================================
--- trunk/phase3/tests/phpunit/languages/LanguageArTest.php     2012-01-27 
05:58:46 UTC (rev 110102)
+++ trunk/phase3/tests/phpunit/languages/LanguageArTest.php     2012-01-27 
06:01:43 UTC (rev 110103)
@@ -52,4 +52,27 @@
                        ),
                );
        }
+       /** @dataProvider providePlural */
+       function testPlural( $result, $value ) {
+               $forms =  array( 'zero', 'one', 'two', 'few', 'many', 'other' );
+               $this->assertEquals( $result, $this->lang->convertPlural( 
$value, $forms ) );
+       }
+       function providePlural() {
+               return array (
+                       array( 'zero', 0 ),
+                       array( 'one', 1 ),
+                       array( 'two', 2 ),
+                       array( 'few', 3 ),
+                       array( 'few', 9 ),
+                       array( 'few', 110 ),
+                       array( 'many', 11 ),
+                       array( 'many', 15 ),
+                       array( 'many', 99 ),
+                       array( 'many', 9999 ),
+                       array( 'other', 100 ),
+                       array( 'other', 102 ),
+                       array( 'other', 1000 ),
+                       array( 'other', 1.7 ),
+               );
+       }
 }

Added: trunk/phase3/tests/phpunit/languages/LanguageBeTest.php
===================================================================
--- trunk/phase3/tests/phpunit/languages/LanguageBeTest.php                     
        (rev 0)
+++ trunk/phase3/tests/phpunit/languages/LanguageBeTest.php     2012-01-27 
06:01:43 UTC (rev 110103)
@@ -0,0 +1,40 @@
+<?php
+/**
+ * @author Santhosh Thottingal
+ * @copyright Copyright © 2012, Santhosh Thottingal
+ * @file
+ */
+
+/** Tests for MediaWiki languages/LanguageBe.php */
+class LanguageBeTest extends MediaWikiTestCase {
+       private $lang;
+
+       function setUp() {
+               $this->lang = Language::factory( 'Be' );
+       }
+       function tearDown() {
+               unset( $this->lang );
+       }
+
+       /** @dataProvider providePlural */
+       function testPlural( $result, $value ) {
+               $forms =  array( 'one', 'few', 'many', 'other' );
+               $this->assertEquals( $result, $this->lang->convertPlural( 
$value, $forms ) );
+       }
+
+       function providePlural() {
+               return array (
+                       array( 'one', 1 ),
+                       array( 'many', 11 ),
+                       array( 'one', 91 ),
+                       array( 'one', 121 ),
+                       array( 'few', 2 ),
+                       array( 'few', 3 ),
+                       array( 'few', 4 ),
+                       array( 'few', 334 ),
+                       array( 'many', 5 ),
+                       array( 'many', 15 ),
+                       array( 'many', 120 ),
+               );
+       }
+}


Property changes on: trunk/phase3/tests/phpunit/languages/LanguageBeTest.php
___________________________________________________________________
Added: svn:eol-style
   + native

Modified: trunk/phase3/tests/phpunit/languages/LanguageBe_taraskTest.php
===================================================================
--- trunk/phase3/tests/phpunit/languages/LanguageBe_taraskTest.php      
2012-01-27 05:58:46 UTC (rev 110102)
+++ trunk/phase3/tests/phpunit/languages/LanguageBe_taraskTest.php      
2012-01-27 06:01:43 UTC (rev 110103)
@@ -27,4 +27,39 @@
        function testDoesNotCommafyFourDigitsNumber() {
                $this->assertEquals(      '1234', $this->lang->commafy(    
'1234' ) );
        }
+       /** @dataProvider providePluralFourForms */
+       function testPluralFourForms( $result, $value ) {
+               $forms =  array( 'one', 'few', 'many', 'other' );
+               $this->assertEquals( $result, $this->lang->convertPlural( 
$value, $forms ) );
+       }
+
+       function providePluralFourForms() {
+               return array (
+                       array( 'one', 1 ),
+                       array( 'many', 11 ),
+                       array( 'one', 91 ),
+                       array( 'one', 121 ),
+                       array( 'few', 2 ),
+                       array( 'few', 3 ),
+                       array( 'few', 4 ),
+                       array( 'few', 334 ),
+                       array( 'many', 5 ),
+                       array( 'many', 15 ),
+                       array( 'many', 120 ),
+               );
+       }
+       /** @dataProvider providePluralTwoForms */
+       function testPluralTwoForms( $result, $value ) {
+               $forms =  array( 'one', 'several' );
+               $this->assertEquals( $result, $this->lang->convertPlural( 
$value, $forms ) );
+       }
+       function providePluralTwoForms() {
+               return array (
+                       array( 'one', 1 ),
+                       array( 'several', 11 ),
+                       array( 'several', 91 ),
+                       array( 'several', 121 ),
+               );
+       }
+
 }

Added: trunk/phase3/tests/phpunit/languages/LanguageBhTest.php
===================================================================
--- trunk/phase3/tests/phpunit/languages/LanguageBhTest.php                     
        (rev 0)
+++ trunk/phase3/tests/phpunit/languages/LanguageBhTest.php     2012-01-27 
06:01:43 UTC (rev 110103)
@@ -0,0 +1,34 @@
+<?php
+/**
+ * @author Santhosh Thottingal
+ * @copyright Copyright © 2012, Santhosh Thottingal
+ * @file
+ */
+
+/** Tests for MediaWiki languages/LanguageBh.php */
+class LanguageBhTest extends MediaWikiTestCase {
+       private $lang;
+
+       function setUp() {
+               $this->lang = Language::factory( 'Bh' );
+       }
+       function tearDown() {
+               unset( $this->lang );
+       }
+
+       /** @dataProvider providePlural */
+       function testPlural( $result, $value ) {
+               $forms =  array( 'one', 'other' );
+               $this->assertEquals( $result, $this->lang->convertPlural( 
$value, $forms ) );
+       }
+
+       function providePlural() {
+               return array (
+                       array( 'one', 0 ),
+                       array( 'one', 1 ),
+                       array( 'other', 2 ),
+                       array( 'other', 200 ),
+               );
+       }
+
+}


Property changes on: trunk/phase3/tests/phpunit/languages/LanguageBhTest.php
___________________________________________________________________
Added: svn:eol-style
   + native

Added: trunk/phase3/tests/phpunit/languages/LanguageBsTest.php
===================================================================
--- trunk/phase3/tests/phpunit/languages/LanguageBsTest.php                     
        (rev 0)
+++ trunk/phase3/tests/phpunit/languages/LanguageBsTest.php     2012-01-27 
06:01:43 UTC (rev 110103)
@@ -0,0 +1,41 @@
+<?php
+/**
+ * @author Santhosh Thottingal
+ * @copyright Copyright © 2012, Santhosh Thottingal
+ * @file
+ */
+
+/** Tests for MediaWiki languages/LanguageBs.php */
+class LanguageBsTest extends MediaWikiTestCase {
+       private $lang;
+
+       function setUp() {
+               $this->lang = Language::factory( 'Bs' );
+       }
+       function tearDown() {
+               unset( $this->lang );
+       }
+
+       /** @dataProvider providePlural */
+       function testPlural( $result, $value ) {
+               $forms =  array( 'one', 'few', 'many', 'other' );
+               $this->assertEquals( $result, $this->lang->convertPlural( 
$value, $forms ) );
+       }
+
+       function providePlural() {
+               return array (
+                       array( 'many', 0 ),
+                       array( 'one', 1 ),
+                       array( 'few', 2 ),
+                       array( 'few', 4 ),
+                       array( 'many', 5 ),
+                       array( 'many', 11 ),
+                       array( 'many', 20 ),
+                       array( 'one', 21 ),
+                       array( 'few', 24 ),
+                       array( 'many', 25 ),
+                       array( 'many', 200 ),
+               );
+       }
+
+}


Property changes on: trunk/phase3/tests/phpunit/languages/LanguageBsTest.php
___________________________________________________________________
Added: svn:eol-style
   + native

Added: trunk/phase3/tests/phpunit/languages/LanguageHiTest.php
===================================================================
--- trunk/phase3/tests/phpunit/languages/LanguageHiTest.php                     
        (rev 0)
+++ trunk/phase3/tests/phpunit/languages/LanguageHiTest.php     2012-01-27 
06:01:43 UTC (rev 110103)
@@ -0,0 +1,34 @@
+<?php
+/**
+ * @author Santhosh Thottingal
+ * @copyright Copyright © 2012, Santhosh Thottingal
+ * @file
+ */
+
+/** Tests for MediaWiki languages/LanguageHi.php */
+class LanguageHiTest extends MediaWikiTestCase {
+       private $lang;
+
+       function setUp() {
+               $this->lang = Language::factory( 'Hi' );
+       }
+       function tearDown() {
+               unset( $this->lang );
+       }
+
+       /** @dataProvider providePlural */
+       function testPlural( $result, $value ) {
+               $forms =  array( 'one', 'other' );
+               $this->assertEquals( $result, $this->lang->convertPlural( 
$value, $forms ) );
+       }
+
+       function providePlural() {
+               return array (
+                       array( 'one', 0 ),
+                       array( 'one', 1 ),
+                       array( 'other', 2 ),
+                       array( 'other', 200 ),
+               );
+       }
+
+}


Property changes on: trunk/phase3/tests/phpunit/languages/LanguageHiTest.php
___________________________________________________________________
Added: svn:eol-style
   + native


_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to