diff options
Diffstat (limited to 'apps/testing/lib/Provider/FakeTextProcessingProviderSync.php')
-rw-r--r-- | apps/testing/lib/Provider/FakeTextProcessingProviderSync.php | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/apps/testing/lib/Provider/FakeTextProcessingProviderSync.php b/apps/testing/lib/Provider/FakeTextProcessingProviderSync.php new file mode 100644 index 00000000000..ea822199109 --- /dev/null +++ b/apps/testing/lib/Provider/FakeTextProcessingProviderSync.php @@ -0,0 +1,45 @@ +<?php + +/** + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace OCA\Testing\Provider; + +use OCP\TextProcessing\FreePromptTaskType; +use OCP\TextProcessing\IProviderWithExpectedRuntime; +use OCP\TextProcessing\ITaskType; + +/** + * @template-implements IProviderWithExpectedRuntime<FreePromptTaskType|ITaskType> + */ +class FakeTextProcessingProviderSync implements IProviderWithExpectedRuntime { + + public function getName(): string { + return 'Fake text processing provider (synchronous)'; + } + + public function process(string $prompt): string { + return $this->mb_strrev($prompt) . ' (done with FakeTextProcessingProviderSync)'; + } + + public function getTaskType(): string { + return FreePromptTaskType::class; + } + + 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)); + } +} |