ILIAS  trunk Revision v13.0_alpha-62-g3b72d83f2e5
WorkingDirectoriesTest.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
25use PHPUnit\Framework\TestCase;
26
27final class WorkingDirectoriesTest extends TestCase
28{
29 private function directories(string $client = 'default', string $datadir = '/var/ilias/data'): WorkingDirectories
30 {
31 $ini = $this->createStub(IliasIni::class);
32 $ini->method('getDataDirectory')->willReturn($datadir);
33
34 $provider = $this->createStub(ClientIdProvider::class);
35 $provider->method('getClientId')->willReturn(new ClientId($client));
36
37 return new WorkingDirectories($ini, $provider);
38 }
39
41 {
42 $root = $this->directories()->getRoot();
43 self::assertDirectoryExists($root);
44 self::assertSame(realpath($root), $root);
45 }
46
47 public function testGetPublicIsRootSlashPublic(): void
48 {
49 $directories = $this->directories();
50 self::assertSame($directories->getRoot() . '/public', $directories->getPublic());
51 }
52
53 public function testGetDataDirDelegatesToIliasIni(): void
54 {
55 self::assertSame('/var/ilias/data', $this->directories(datadir: '/var/ilias/data')->getDataDir());
56 }
57
59 {
60 $directories = $this->directories(client: 'acme');
61 self::assertSame($directories->getPublic() . '/data/acme', $directories->getWebDir());
62 }
63}
directories(string $client='default', string $datadir='/var/ilias/data')
$client
Typed read access to ilias.ini.php.
Definition: IliasIni.php:35