summaryrefslogtreecommitdiff
path: root/tests/UnitTests/framework/I18N/testChoiceFormat.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/UnitTests/framework/I18N/testChoiceFormat.php')
-rw-r--r--tests/UnitTests/framework/I18N/testChoiceFormat.php34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/UnitTests/framework/I18N/testChoiceFormat.php b/tests/UnitTests/framework/I18N/testChoiceFormat.php
new file mode 100644
index 00000000..8cc3f1d3
--- /dev/null
+++ b/tests/UnitTests/framework/I18N/testChoiceFormat.php
@@ -0,0 +1,34 @@
+<?php
+Prado::using('System.I18N.core.ChoiceFormat');
+
+class testChoiceFormat extends UnitTestCase
+{
+ function testChoiceFormat()
+ {
+ $this->UnitTestCase();
+ }
+
+ function testChoices()
+ {
+ $choice = new ChoiceFormat();
+ $string = '[0] are no files |[1] is one file |(1,Inf] are {number} files';
+
+ $want = 'are no files';
+ $this->assertEqual($want, $choice->format($string, 0));
+
+ $want = 'is one file';
+ $this->assertEqual($want, $choice->format($string, 1));
+
+ $want = 'are {number} files';
+ $this->assertEqual($want, $choice->format($string, 5));
+
+ $this->assertFalse($choice->format($string, -1));
+
+ $string = '{1,2} one two |{3,4} three four |[2,5] two to five inclusive';
+ $this->assertEqual($choice->format($string,1),'one two');
+ $this->assertEqual($choice->format($string,2.1),'two to five inclusive');
+ $this->assertEqual($choice->format($string,3),'three four');
+ }
+}
+
+?> \ No newline at end of file