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