ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
GlobalSettingsStorageTest.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
21namespace ILIAS\ContentPage;
22
25use PHPUnit\Framework\TestCase;
26use ilSetting;
27
28class GlobalSettingsStorageTest extends TestCase
29{
30 public function testGlobalSettings(): void
31 {
32 $settings = new Settings();
33
34 $this->assertFalse($settings->isReadingTimeEnabled());
35
36 $settingsWithEnabledReadingTime = $settings->withEnabledReadingTime();
37 $this->assertFalse($settings->isReadingTimeEnabled());
38 $this->assertTrue($settingsWithEnabledReadingTime->isReadingTimeEnabled());
39
40 $settingsWithDisabledReadingTime = $settingsWithEnabledReadingTime->withDisabledReadingTime();
41 $this->assertTrue($settingsWithEnabledReadingTime->isReadingTimeEnabled());
42 $this->assertFalse($settingsWithDisabledReadingTime->isReadingTimeEnabled());
43 }
44
45 public function testGlobalSettingsStorage(): void
46 {
47 $iliasSettings = new class () extends ilSetting {
49 private array $map = [];
50
51 public function __construct()
52 {
53 }
54
55 public function get(string $a_keyword, ?string $a_default_value = null): ?string
56 {
57 return $this->map[$a_keyword] ?? null;
58 }
59
60 public function set(string $a_key, string $a_val): void
61 {
62 $this->map[$a_key] = $a_val;
63 }
64 };
65
66 $storage = new StorageImpl($iliasSettings);
67
68 $settings = new Settings();
69 $settings = $settings->withEnabledReadingTime();
70
71 $storage->store($settings);
72
73 $retrievedSettings = $storage->getSettings();
74 $this->assertTrue($settings->isReadingTimeEnabled());
75
76 $storage->store($settings->withDisabledReadingTime());
77 $this->assertFalse($storage->getSettings()->isReadingTimeEnabled());
78 }
79}
__construct()
Constructor setup ILIAS global object @access public.
Definition: class.ilias.php:76
ILIAS Setting Class.