19declare(strict_types=1);
22use PHPUnit\Framework\TestCase;
33 $this->createStub(
Setup\Metrics\Storage::class),
38 $environment = $environment->withResource(
Setup\Environment::RESOURCE_DATABASE, $db);
41 (
new ReflectionMethod($objective,
'collectFrom'))
42 ->invoke($objective, $environment, $this->createStub(
Setup\Metrics\Storage::class));
47 $db = $this->createStub(ilDBInterface::class);
49 $setup_language = $this->createMock(ilSetupLanguage::class);
50 $setup_language->expects(self::once())->method(
'setDbHandler')->with($db)
51 ->willReturnCallback(
static function () use (&$calls):
bool {
52 $calls[] =
'setDbHandler';
55 $setup_language->method(
'getLocalLanguages')->willReturnCallback(
static function () use (&$calls): array {
56 $calls[] =
'getLocalLanguages';
59 $setup_language->method(
'getInstalledLanguages')->willReturnCallback(
static function () use (&$calls): array {
60 $calls[] =
'getInstalledLanguages';
64 $this->
collect($setup_language, $db);
66 self::assertSame(
'setDbHandler', $calls[0] ??
null);
67 self::assertContains(
'getInstalledLanguages', $calls);
76 $setup_language = $this->createStub(ilSetupLanguage::class);
77 $setup_language->method(
'getLocalLanguages')->willReturn([]);
78 $setup_language->method(
'getInstalledLanguages')->willReturn([]);
80 $this->
collect($setup_language, $this->createStub(ilDBInterface::class));
83 self::assertFalse(isset(
$dic[
'ilDB']));
84 self::assertArrayNotHasKey(
'ilDB',
$GLOBALS);
89 $setup_language = $this->createMock(ilSetupLanguage::class);
90 $setup_language->expects(self::never())->method(
'setDbHandler');
91 $setup_language->expects(self::never())->method(
'getInstalledLanguages');
93 $this->
collect($setup_language,
null);
Customizing of pimple-DIC for ILIAS.
collectFrom() hands the Setup database to ilSetupLanguage via setDbHandler() before reading,...
testGlobalsAreNotChanged()
collect(ilSetupLanguage $setup_language, ?ilDBInterface $db)
testWithoutSetupDatabaseNothingIsRead()
testSetupDatabaseIsHandedToIlSetupLanguageBeforeAnyRead()
language handling for setup
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...