From ff730c861b7a8c4e5b7502e198cb1a979ad04abd Mon Sep 17 00:00:00 2001 From: Savetheinternet Date: Tue, 11 Oct 2011 21:49:14 +1100 Subject: Started on internationalization (i18n) --- inc/contrib/gettext/tests/ParsingTest.php | 60 +++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 inc/contrib/gettext/tests/ParsingTest.php (limited to 'inc/contrib/gettext/tests/ParsingTest.php') diff --git a/inc/contrib/gettext/tests/ParsingTest.php b/inc/contrib/gettext/tests/ParsingTest.php new file mode 100644 index 00000000..ff561989 --- /dev/null +++ b/inc/contrib/gettext/tests/ParsingTest.php @@ -0,0 +1,60 @@ +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" + )); + } + + /** + * @dataProvider data_provider_test_npgettext + */ + public function test_npgettext($number, $expected) { + $parser = new gettext_reader(NULL); + $result = $parser->npgettext("context", + "%d pig went to the market\n", + "%d pigs went to the market\n", + $number); + $this->assertSame($expected, $result); + } + public static function data_provider_test_npgettext() { + return array( + array(1, "%d pig went to the market\n"), + array(2, "%d pigs went to the market\n"), + ); + } + +} +?> -- cgit v1.3