ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
GlobalSettingsStorageTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
21 namespace ILIAS\ContentPage;
22 
26 use ilSetting;
27 
28 class 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 }
array $settings
Setting values (LTI parameters, custom parameters and local parameters).
Definition: System.php:200
__construct()
Constructor setup ILIAS global object public.
Definition: class.ilias.php:62