use Dice\Dice;
use Friendica\Core\Container;
+use org\bovigo\vfs\vfsStream;
use PHPUnit\Framework\TestCase;
use Psr\Log\LoggerInterface;
use Psr\Log\NullLogger;
class ContainerTest extends TestCase
{
+ public function testFromBasePathReturnsContainer(): void
+ {
+ $root = vfsStream::setup('friendica', null, [
+ 'static' => [
+ 'dependencies.config.php' => '<?php return [];',
+ ],
+ ]);
+
+ $container = Container::fromBasePath($root->url());
+
+ $this->assertInstanceOf(Container::class, $container);
+ }
+
+ public function testCreateReturnsObject(): void
+ {
+ $root = vfsStream::setup('friendica', null, [
+ 'static' => [
+ 'dependencies.config.php' => <<< PHP
+ <?php return [
+ \Psr\Log\LoggerInterface::class => [
+ 'instanceOf' => \Psr\Log\NullLogger::class,
+ ],
+ ];
+ PHP,
+ ],
+ ]);
+
+ $container = Container::fromBasePath($root->url());
+
+ $this->assertInstanceOf(NullLogger::class, $container->create(LoggerInterface::class));
+ }
+
public function testFromDiceReturnsContainer(): void
{
$dice = $this->createMock(Dice::class);