summaryrefslogtreecommitdiff
path: root/tests/phpunit/languages/LanguageHeTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/phpunit/languages/LanguageHeTest.php')
-rw-r--r--tests/phpunit/languages/LanguageHeTest.php77
1 files changed, 77 insertions, 0 deletions
diff --git a/tests/phpunit/languages/LanguageHeTest.php b/tests/phpunit/languages/LanguageHeTest.php
new file mode 100644
index 00000000..6de88e59
--- /dev/null
+++ b/tests/phpunit/languages/LanguageHeTest.php
@@ -0,0 +1,77 @@
+<?php
+/**
+ * @author Amir E. Aharoni
+ * @copyright Copyright © 2012, Amir E. Aharoni
+ * @file
+ */
+
+/** Tests for MediaWiki languages/classes/LanguageHe.php */
+class LanguageHeTest extends LanguageClassesTestCase {
+
+ /** @dataProvider providerPluralDual */
+ function testPluralDual( $result, $value ) {
+ $forms = array( 'one', 'two', 'other' );
+ $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
+ }
+
+ function providerPluralDual() {
+ return array(
+ array( 'other', 0 ), // Zero -> plural
+ array( 'one', 1 ), // Singular
+ array( 'two', 2 ), // Dual
+ array( 'other', 3 ), // Plural
+ );
+ }
+
+ /** @dataProvider providerPlural */
+ function testPlural( $result, $value ) {
+ $forms = array( 'one', 'other' );
+ $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
+ }
+
+ function providerPlural() {
+ return array(
+ array( 'other', 0 ), // Zero -> plural
+ array( 'one', 1 ), // Singular
+ array( 'other', 2 ), // Plural, no dual provided
+ array( 'other', 3 ), // Plural
+ );
+ }
+
+ /** @dataProvider providerGrammar */
+ function testGrammar( $result, $word, $case ) {
+ $this->assertEquals( $result, $this->getLang()->convertGrammar( $word, $case ) );
+ }
+
+ // The comments in the beginning of the line help avoid RTL problems
+ // with text editors.
+ function providerGrammar() {
+ return array(
+ array(
+ /* result */ 'וויקיפדיה',
+ /* word */ 'ויקיפדיה',
+ /* case */ 'תחילית',
+ ),
+ array(
+ /* result */ 'וולפגנג',
+ /* word */ 'וולפגנג',
+ /* case */ 'prefixed',
+ ),
+ array(
+ /* result */ 'קובץ',
+ /* word */ 'הקובץ',
+ /* case */ 'תחילית',
+ ),
+ array(
+ /* result */ '־Wikipedia',
+ /* word */ 'Wikipedia',
+ /* case */ 'תחילית',
+ ),
+ array(
+ /* result */ '־1995',
+ /* word */ '1995',
+ /* case */ 'תחילית',
+ ),
+ );
+ }
+}