From 874b8cbf002e9d8bf0ff39671e1501165016320a Mon Sep 17 00:00:00 2001 From: Michael Save Date: Mon, 9 Apr 2012 20:52:26 +1000 Subject: inc/contrib -> inc/lib --- inc/lib/gettext/tests/ParsingTest.php | 60 +++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 inc/lib/gettext/tests/ParsingTest.php (limited to 'inc/lib/gettext/tests/ParsingTest.php') diff --git a/inc/lib/gettext/tests/ParsingTest.php b/inc/lib/gettext/tests/ParsingTest.php new file mode 100644 index 00000000..ff561989 --- /dev/null +++ b/inc/lib/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