Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2021-03-31 10:54:23 +0300
committerJoas Schilling <coding@schilljs.com>2021-04-20 17:42:05 +0300
commit5a514a9a419f40800e5dc70c33b9de9f33cf7a76 (patch)
tree107f7c16df9e7ae8f51c1db5dcda014ace9eca1e /tests/lib/L10N
parent439457d2b4cdc511fbce826764b2b27e30abee50 (diff)
Correctly replace all PHP placeholders with the parameters
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'tests/lib/L10N')
-rw-r--r--tests/lib/L10N/L10nTest.php21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/lib/L10N/L10nTest.php b/tests/lib/L10N/L10nTest.php
index 0de09386fba..3fb22b3f66e 100644
--- a/tests/lib/L10N/L10nTest.php
+++ b/tests/lib/L10N/L10nTest.php
@@ -76,6 +76,27 @@ class L10nTest extends TestCase {
$this->assertEquals('5 oken', (string)$l->n('%n window', '%n windows', 5));
}
+ public function dataPlaceholders(): array {
+ return [
+ ['Ordered placeholders one %s two %s', 'Placeholder one 1 two 2'],
+ ['Reordered placeholders one %s two %s', 'Placeholder two 2 one 1'],
+ ['Reordered placeholders one %1$s two %2$s', 'Placeholder two 2 one 1'],
+ ];
+ }
+
+ /**
+ * @dataProvider dataPlaceholders
+ *
+ * @param $string
+ * @param $expected
+ */
+ public function testPlaceholders($string, $expected): void {
+ $transFile = \OC::$SERVERROOT.'/tests/data/l10n/de.json';
+ $l = new L10N($this->getFactory(), 'test', 'de', 'de_AT', [$transFile]);
+
+ $this->assertEquals($expected, $l->t($string, ['1', '2']));
+ }
+
public function localizationData() {
return [
// timestamp as string