20declare(strict_types=1);
25use PHPUnit\Framework\MockObject\MockObject;
26use PHPUnit\Framework\MockObject\Stub;
33trait LanguageObjectRepositoryProvider
35 protected function languageObjectProvider(\Closure $lng_objects, \Closure $obj_language_factory): RepositoryProvider&Stub
37 $provider = $this->createStub(RepositoryProvider::class);
38 $this->answerFromLanguageObjects($provider, $lng_objects, $obj_language_factory);
44 protected function languageObjectProviderMock(\Closure $lng_objects, \Closure $obj_language_factory): RepositoryProvider&MockObject
46 $provider = $this->createMock(RepositoryProvider::class);
47 $this->answerFromLanguageObjects($provider, $lng_objects, $obj_language_factory);
52 private function answerFromLanguageObjects(
53 RepositoryProvider&Stub $provider,
54 \Closure $lng_objects,
55 \Closure $obj_language_factory
57 $provider->method(
'listLanguageObjects')->willReturnCallback($lng_objects);
58 $provider->method(
'isSystemLanguage')->willReturnCallback(
59 static fn(
int $id):
bool => $obj_language_factory(
$id)->isSystemLanguage()
61 $provider->method(
'isUserLanguage')->willReturnCallback(
62 static fn(
int $id):
bool => $obj_language_factory(
$id)->isUserLanguage()
64 $provider->method(
'isInstalled')->willReturnCallback(
65 static fn(
int $id):
bool => $obj_language_factory(
$id)->isInstalled()
67 $provider->method(
'uninstall')->willReturnCallback(
static function (
int $id) use ($obj_language_factory): ?array {
68 $language = $obj_language_factory(
$id);
70 return $language->uninstall() ===
'' ? null : $language->getModulesWithUnwrittenOverlay();
72 $provider->method(
'removeLocalChanges')->willReturnCallback(
static function (
int $id) use ($obj_language_factory): ?array {
73 $language = $obj_language_factory(
$id);
75 return $language->removeLocalChanges() ? $language->getModulesWithUnwrittenOverlay() :
null;
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Every legacy and repository access of the runtime language activities.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...