From c125af242c907baa5dea760b3f414f8d71408c53 Mon Sep 17 00:00:00 2001 From: sgiehl Date: Fri, 30 Aug 2013 18:40:10 +0200 Subject: added translations filter to filter by matching placeholder counts --- .../Core/Translate/Filter/ByParameterCountTest.php | 122 +++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 tests/PHPUnit/Core/Translate/Filter/ByParameterCountTest.php (limited to 'tests') diff --git a/tests/PHPUnit/Core/Translate/Filter/ByParameterCountTest.php b/tests/PHPUnit/Core/Translate/Filter/ByParameterCountTest.php new file mode 100644 index 0000000000..317eda8dd0 --- /dev/null +++ b/tests/PHPUnit/Core/Translate/Filter/ByParameterCountTest.php @@ -0,0 +1,122 @@ + array() + ), + array(), + array(), + array(), + ), + // value with %s will be removed, as it isn't there in base + array( + array( + 'test' => array( + 'key' => 'val%sue', + 'test' => 'test' + ) + ), + array( + 'test' => array( + 'key' => 'value', + ) + ), + array( + 'test' => array( + 'test' => 'test', + ) + ), + array( + 'test' => array( + 'key' => 'val%sue', + ) + ), + ), + // no change if placeholder count is the same + array( + array( + 'test' => array( + 'test' => 'te%sst' + ) + ), + array( + 'test' => array( + 'test' => 'test%s' + ) + ), + array( + 'test' => array( + 'test' => 'te%sst' + ) + ), + array() + ), + // missing placeholder will be removed + array( + array( + 'empty' => array( + 'test' => 't%1$sest' + ), + 'test' => array( + 'test' => '%1$stest', + 'empty' => ' ', + ) + ), + array( + 'empty' => array( + 'test' => 'test%1$s' + ), + 'test' => array( + 'test' => '%1$stest%2$s', + ) + ), + array( + 'empty' => array( + 'test' => 't%1$sest' + ), + 'test' => array( + 'empty' => ' ', + ) + ), + array( + 'test' => array( + 'test' => '%1$stest', + ) + ) + ), + ); + } + + /** + * @dataProvider getFilterTestData + * @group Core + * @group Translate + */ + public function testFilter($translations, $baseTranslations, $expected, $filteredData) + { + $filter = new ByParameterCount($baseTranslations); + $result = $filter->filter($translations); + $this->assertEquals($expected, $result); + $this->assertEquals($filteredData, $filter->getFilteredData()); + } +} -- cgit v1.2.3