ILIAS  trunk Revision v13.0_alpha-62-g3b72d83f2e5
ilIniFileTest.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
21use PHPUnit\Framework\TestCase;
22
23class ilIniFileTest extends TestCase
24{
25 private string $path;
26
27 protected function setUp(): void
28 {
29 $this->path = tempnam(sys_get_temp_dir(), 'ini');
30 unlink($this->path);
31 }
32
33 protected function tearDown(): void
34 {
35 if (is_file($this->path)) {
36 unlink($this->path);
37 }
38 }
39
43 public function testAssignedGroupsAreWritten(): void
44 {
45 $ini = new ilIniFile($this->path);
46 $ini->GROUPS = [
47 'server' => ['http_path' => 'https://ilias.example.org', 'timezone' => 'Europe/Zurich'],
48 'clients' => ['default' => 'default'],
49 ];
50 $this->assertTrue($ini->write());
51
52 $written = new ilIniFile($this->path);
53 $this->assertSame('https://ilias.example.org', $written->readVariable('server', 'http_path'));
54 $this->assertSame('default', $written->readVariable('clients', 'default'));
55 $this->assertTrue($written->setVariable('server', 'timezone', 'UTC'));
56 }
57
59 {
60 $ini = new ilIniFile($this->path);
61 $ini->GROUPS = ['a' => ['x' => '1', 'y' => '2'], 'b' => ['z' => '3']];
62 $ini->write();
63
64 $ini = new ilIniFile($this->path);
65 unset($ini->GROUPS['b'], $ini->GROUPS['a']['y']);
66 $ini->write();
67
68 $written = new ilIniFile($this->path);
69 $this->assertSame(['a'], $written->readGroups());
70 $this->assertSame(['x' => '1'], $written->readGroup('a'));
71 }
72
73 public function testSetVariableIsWritten(): void
74 {
75 $ini = new ilIniFile($this->path);
76 $ini->addGroup('log');
77 $ini->setVariable('log', 'level', 'debug');
78 $ini->write();
79
80 $this->assertSame('debug', (new ilIniFile($this->path))->readVariable('log', 'level'));
81 }
82}
testAssignedGroupsAreWritten()
ilIniFilesPopulatedObjective fills a new ini file by assigning $GROUPS
testGroupsAndVariablesRemovedFromGroupsAreNotWritten()
INI file parser — compatibility wrapper.
if(! $all_ok) if(!is_dir($output_dir) &&! @mkdir($output_dir, 0775, true) &&!is_dir($output_dir)) $written