summaryrefslogtreecommitdiff
path: root/src/php-gettext/tests/ParsingTest.php
diff options
context:
space:
mode:
authorChristian Weiske <cweiske@cweiske.de>2010-09-28 08:53:03 +0200
committerChristian Weiske <cweiske@cweiske.de>2010-09-28 08:53:03 +0200
commit8da16ca4a6faae17c896919c31d0011e719fb28f (patch)
tree6201de5504e86616fa69e58a5674a55b46060a16 /src/php-gettext/tests/ParsingTest.php
parent15b8b6ab23abb44b4d6cdff7aec50fcfe82b73d9 (diff)
downloadsemanticscuttle-8da16ca4a6faae17c896919c31d0011e719fb28f.tar.gz
semanticscuttle-8da16ca4a6faae17c896919c31d0011e719fb28f.tar.bz2
update php-gettext to 1.0.10
Diffstat (limited to 'src/php-gettext/tests/ParsingTest.php')
-rw-r--r--src/php-gettext/tests/ParsingTest.php43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/php-gettext/tests/ParsingTest.php b/src/php-gettext/tests/ParsingTest.php
new file mode 100644
index 0000000..9b350b2
--- /dev/null
+++ b/src/php-gettext/tests/ParsingTest.php
@@ -0,0 +1,43 @@
+<?php
+require_once('PHPUnit/Framework.php');
+//require_once('gettext.php');
+
+class ParsingTest extends PHPUnit_Framework_TestCase
+{
+ public function test_extract_plural_forms_header_from_po_header()
+ {
+ $parser = new gettext_reader(NULL);
+ // It defaults to a "Western-style" plural header.
+ $this->assertEquals(
+ 'nplurals=2; plural=n == 1 ? 0 : 1;',
+ $parser->extract_plural_forms_header_from_po_header(""));
+
+ // Extracting it from the middle of the header works.
+ $this->assertEquals(
+ 'nplurals=1; plural=0;',
+ $parser->extract_plural_forms_header_from_po_header(
+ "Content-type: text/html; charset=UTF-8\n"
+ ."Plural-Forms: nplurals=1; plural=0;\n"
+ ."Last-Translator: nobody\n"
+ ));
+
+ // It's also case-insensitive.
+ $this->assertEquals(
+ 'nplurals=1; plural=0;',
+ $parser->extract_plural_forms_header_from_po_header(
+ "PLURAL-forms: nplurals=1; plural=0;\n"
+ ));
+
+ // It falls back to default if it's not on a separate line.
+ $this->assertEquals(
+ 'nplurals=2; plural=n == 1 ? 0 : 1;',
+ $parser->extract_plural_forms_header_from_po_header(
+ "Content-type: text/html; charset=UTF-8" // note the missing \n here
+ ."Plural-Forms: nplurals=1; plural=0;\n"
+ ."Last-Translator: nobody\n"
+ ));
+
+ }
+
+}
+?>