diff options
author | Marcel Klehr <mklehr@gmx.net> | 2024-07-27 16:28:12 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-27 16:28:12 +0200 |
commit | 5639d9980160900b454bfa7ff2128997aea36583 (patch) | |
tree | 27c7a1d6dd2bbb8c33bc8cf41ebc558e73055626 | |
parent | 0ae83d6183b5113b9e9116f13a0eb3ebe19bc44d (diff) | |
parent | b9187dcb9eb33eac945ef768b0aed1a1fcc3743c (diff) | |
download | nextcloud-server-5639d9980160900b454bfa7ff2128997aea36583.tar.gz nextcloud-server-5639d9980160900b454bfa7ff2128997aea36583.zip |
Merge pull request #46779 from nextcloud/fix/testing/textprocessing-unicode
fix(testing): Make Testing TextProcessing providers unicode safe
-rw-r--r-- | apps/testing/lib/Provider/FakeTextProcessingProvider.php | 13 | ||||
-rw-r--r-- | apps/testing/lib/Provider/FakeTextProcessingProviderSync.php | 13 |
2 files changed, 24 insertions, 2 deletions
diff --git a/apps/testing/lib/Provider/FakeTextProcessingProvider.php b/apps/testing/lib/Provider/FakeTextProcessingProvider.php index 7a318196ab3..ffa7d16ef24 100644 --- a/apps/testing/lib/Provider/FakeTextProcessingProvider.php +++ b/apps/testing/lib/Provider/FakeTextProcessingProvider.php @@ -18,10 +18,21 @@ class FakeTextProcessingProvider implements IProvider { } public function process(string $prompt): string { - return strrev($prompt) . ' (done with FakeTextProcessingProvider)'; + return $this->mb_strrev($prompt) . ' (done with FakeTextProcessingProvider)'; } public function getTaskType(): string { return FreePromptTaskType::class; } + + /** + * Reverse a miltibyte string. + * + * @param string $string The string to be reversed. + * @return string The reversed string + */ + private function mb_strrev(string $string): string { + $chars = mb_str_split($string, 1); + return implode('', array_reverse($chars)); + } } diff --git a/apps/testing/lib/Provider/FakeTextProcessingProviderSync.php b/apps/testing/lib/Provider/FakeTextProcessingProviderSync.php index f6fe63c0f82..55c0cfef3bf 100644 --- a/apps/testing/lib/Provider/FakeTextProcessingProviderSync.php +++ b/apps/testing/lib/Provider/FakeTextProcessingProviderSync.php @@ -20,7 +20,7 @@ class FakeTextProcessingProviderSync implements IProviderWithExpectedRuntime { } public function process(string $prompt): string { - return strrev($prompt) . ' (done with FakeTextProcessingProviderSync)'; + return $this->mb_strrev($prompt) . ' (done with FakeTextProcessingProviderSync)'; } public function getTaskType(): string { @@ -30,4 +30,15 @@ class FakeTextProcessingProviderSync implements IProviderWithExpectedRuntime { public function getExpectedRuntime(): int { return 1; } + + /** + * Reverse a miltibyte string. + * + * @param string $string The string to be reversed. + * @return string The reversed string + */ + private function mb_strrev(string $string): string { + $chars = mb_str_split($string, 1); + return implode('', array_reverse($chars)); + } } |