summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorGravatar Inverle <inverle@proton.me> 2025-11-16 18:44:07 +0100
committerGravatar GitHub <noreply@github.com> 2025-11-16 18:44:07 +0100
commitb9abe706902c666d85cf60eb828a72c4f3062297 (patch)
tree887eae20f83b8e39bb515933615b4a39428b965e /tests
parentcf4d8043d2076ba346e9890a41984d458e94c8dc (diff)
Add new translate action: `move`, `make i18n-move-key` (#8214)
So that renaming something like `conf.shortcut.toggle_sidebar` to `conf.shortcut.toggle_aside` can be done easily even after already having added `conf.shortcut.toggle_sidebar` and translated it in multiple languages. Example of usage: ```console ./cli/manipulate.translation.php -a move -k conf.shortcut.toggle_sidebar -n conf.shortcut.toggle_aside ``` ```console make i18n-move-key key="conf.shortcut.toggle_sidebar" new-key="conf.shortcut.toggle_aside" ``` The key will be moved and all values/states will be kept.
Diffstat (limited to 'tests')
-rw-r--r--tests/cli/i18n/I18nDataTest.php14
1 files changed, 12 insertions, 2 deletions
diff --git a/tests/cli/i18n/I18nDataTest.php b/tests/cli/i18n/I18nDataTest.php
index 02ad7ea9a..5533ce166 100644
--- a/tests/cli/i18n/I18nDataTest.php
+++ b/tests/cli/i18n/I18nDataTest.php
@@ -34,6 +34,16 @@ final class I18nDataTest extends \PHPUnit\Framework\TestCase {
];
}
+ public function testMoveKey(): void {
+ $data = new I18nData($this->referenceData);
+ $value = $data->getData()['en']['file2.php']['file2.l1.l2.k2'];
+ self::assertTrue($data->isKnown('file2.l1.l2.k2'));
+ self::assertFalse($data->isKnown('file2.l1.nkl2'));
+ $data->moveKey('file2.l1.l2.k2', 'file2.l1.nkl2');
+ self::assertFalse($data->isKnown('file2.l1.l2.k2'));
+ self::assertTrue($data->isKnown('file2.l1.nkl2'));
+ }
+
public function testConstructWhenReferenceOnly(): void {
$data = new I18nData($this->referenceData);
self::assertSame($this->referenceData, $data->getData());
@@ -302,7 +312,7 @@ final class I18nDataTest extends \PHPUnit\Framework\TestCase {
public function testAddLanguageWhenLanguageExists(): void {
$this->expectException(\Exception::class);
- $this->expectExceptionMessage('The selected language already exist.');
+ $this->expectExceptionMessage('The selected language already exists.');
$data = new I18nData($this->referenceData);
$data->addLanguage('en');
}
@@ -430,7 +440,7 @@ final class I18nDataTest extends \PHPUnit\Framework\TestCase {
public function testAddKeyWhenKeyExists(): void {
$this->expectException(\Exception::class);
- $this->expectExceptionMessage('The selected key already exist.');
+ $this->expectExceptionMessage('The selected key already exists.');
$data = new I18nData($this->referenceData);
$data->addKey('file2.l1.l2.k1', 'value');
}