From 207543754c4e7a6b1266952d846dc5c254b9a3d3 Mon Sep 17 00:00:00 2001 From: czaks Date: Sun, 30 Mar 2014 16:40:14 +0200 Subject: SECURITY: remove XSS vulnerability --- inc/lib/gettext/tests/LocalesTest.php | 75 ----------------------------------- inc/lib/gettext/tests/ParsingTest.php | 60 ---------------------------- 2 files changed, 135 deletions(-) delete mode 100644 inc/lib/gettext/tests/LocalesTest.php delete mode 100644 inc/lib/gettext/tests/ParsingTest.php (limited to 'inc/lib/gettext/tests') diff --git a/inc/lib/gettext/tests/LocalesTest.php b/inc/lib/gettext/tests/LocalesTest.php deleted file mode 100644 index fab21f86..00000000 --- a/inc/lib/gettext/tests/LocalesTest.php +++ /dev/null @@ -1,75 +0,0 @@ -assertEquals('sr_RS', _setlocale(LC_MESSAGES, 0)); - } - - public function test_setlocale_system() - { - putenv("LC_ALL="); - // For an existing locale, it never needs emulation. - putenv("LANG=C"); - _setlocale(LC_MESSAGES, ""); - $this->assertEquals(0, locale_emulation()); - } - - public function test_setlocale_emulation() - { - putenv("LC_ALL="); - // If we set it to a non-existent locale, it still works, but uses - // emulation. - _setlocale(LC_MESSAGES, "xxx_XXX"); - $this->assertEquals('xxx_XXX', _setlocale(LC_MESSAGES, 0)); - $this->assertEquals(1, locale_emulation()); - } - - public function test_get_list_of_locales() - { - // For a locale containing country code, we prefer - // full locale name, but if that's not found, fall back - // to the language only locale name. - $this->assertEquals(array("sr_RS", "sr"), - get_list_of_locales("sr_RS")); - - // If language code is used, it's the only thing returned. - $this->assertEquals(array("sr"), - get_list_of_locales("sr")); - - // There is support for language and charset only. - $this->assertEquals(array("sr.UTF-8", "sr"), - get_list_of_locales("sr.UTF-8")); - - // It can also split out character set from the full locale name. - $this->assertEquals(array("sr_RS.UTF-8", "sr_RS", "sr"), - get_list_of_locales("sr_RS.UTF-8")); - - // There is support for @modifier in locale names as well. - $this->assertEquals(array("sr_RS.UTF-8@latin", "sr_RS@latin", "sr@latin", - "sr_RS.UTF-8", "sr_RS", "sr"), - get_list_of_locales("sr_RS.UTF-8@latin")); - - // We can pass in only language and modifier. - $this->assertEquals(array("sr@latin", "sr"), - get_list_of_locales("sr@latin")); - - - // If locale name is not following the regular POSIX pattern, - // it's used verbatim. - $this->assertEquals(array("something"), - get_list_of_locales("something")); - - // Passing in an empty string returns an empty array. - $this->assertEquals(array(), - get_list_of_locales("")); - } -} - -?> diff --git a/inc/lib/gettext/tests/ParsingTest.php b/inc/lib/gettext/tests/ParsingTest.php deleted file mode 100644 index ff561989..00000000 --- a/inc/lib/gettext/tests/ParsingTest.php +++ /dev/null @@ -1,60 +0,0 @@ -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