aboutsummaryrefslogtreecommitdiffstats
path: root/apps/testing/lib
diff options
context:
space:
mode:
authorMarcel Klehr <mklehr@gmx.net>2024-07-26 13:19:57 +0200
committerMarcel Klehr <mklehr@gmx.net>2024-07-26 13:50:36 +0200
commitb9187dcb9eb33eac945ef768b0aed1a1fcc3743c (patch)
treec62db51e81a447fb4de5d62d3c9e07275f8dc39e /apps/testing/lib
parent87dc0614d703536843b878808a2721899df798b4 (diff)
downloadnextcloud-server-b9187dcb9eb33eac945ef768b0aed1a1fcc3743c.tar.gz
nextcloud-server-b9187dcb9eb33eac945ef768b0aed1a1fcc3743c.zip
fix(testing): Make Testing TextProcessing providers unicode safe
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
Diffstat (limited to 'apps/testing/lib')
-rw-r--r--apps/testing/lib/Provider/FakeTextProcessingProvider.php13
-rw-r--r--apps/testing/lib/Provider/FakeTextProcessingProviderSync.php13
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));
+ }
}