19declare(strict_types=1);
21require_once(
"vendor/composer/vendor/autoload.php");
26use PHPUnit\Framework\TestCase;
39 protected function setUp(): void
41 $this->entries_data = include
"components/ILIAS/UI/tests/Crawler/Fixture/EntriesFixture.php";
42 $this->entries =
new Entries();
43 $this->entry_data = include
"components/ILIAS/UI/tests/Crawler/Fixture/EntryFixture.php";
44 $this->entry =
new Entry($this->entry_data);
45 $this->entries->addEntriesFromArray($this->entries_data);
50 $this->assertInstanceOf(Entries::class, $this->entries);
59 $this->assertEquals(1,
$entries->count());
63 $this->assertEquals(2,
$entries->count());
76 $new_entries =
new Entries();
77 $new_entries->addEntries($this->entries);
78 $this->assertEquals(2, $new_entries->count());
83 $entries_emtpy =
new Entries();
85 $this->assertEquals($entries_emtpy,
$entries);
87 $this->assertEquals($entries_emtpy,
$entries);
88 $entries->addEntriesFromArray($this->entries_data);
89 $this->assertEquals(
$entries, $this->entries);
95 $this->assertEquals(
"root",
$entries->getRootEntryId());
97 $this->assertEquals(
"root2",
$entries->getRootEntryId());
98 $this->assertEquals(
"Entry1", $this->entries->getRootEntryId());
106 $this->assertFalse(
"this should not happen");
108 $this->assertTrue(
true);
110 $this->assertEquals(
new Entry($this->entries_data[
"Entry1"]), $this->entries->getRootEntry());
118 $this->assertFalse(
"this should not happen");
120 $this->assertTrue(
true);
122 $this->assertEquals(
new Entry($this->entries_data[
"Entry2"]), $this->entries->getEntryById(
"Entry2"));
127 $this->assertEquals([], $this->entries->getParentsOfEntry(
"Entry1"));
128 $this->assertEquals([
"Entry1"], $this->entries->getParentsOfEntry(
"Entry2"));
133 $this->assertEquals(
false, $this->entries->isParentOfEntry(
"Entry2",
"Entry1"));
134 $this->assertEquals(
true, $this->entries->isParentOfEntry(
"Entry1",
"Entry2"));
139 $this->assertEquals([], $this->entries->getParentsOfEntryTitles(
"Entry1"));
140 $this->assertEquals([
'Entry1' =>
'Entry1Title'], $this->entries->getParentsOfEntryTitles(
"Entry2"));
145 $this->assertEquals([
'Entry2'], $this->entries->getDescendantsOfEntry(
"Entry1"));
146 $this->assertEquals([], $this->entries->getDescendantsOfEntry(
"Entry2"));
151 $this->assertEquals([
'Entry2' =>
'Entry2Title'], $this->entries->getDescendantsOfEntryTitles(
"Entry1"));
152 $this->assertEquals([], $this->entries->getDescendantsOfEntryTitles(
"Entry2"));
157 $this->assertEquals([$this->entries->getEntryById(
"Entry2")], $this->entries->getChildrenOfEntry(
"Entry1"));
158 $this->assertEquals([], $this->entries->getDescendantsOfEntryTitles(
"Entry2"));
165 $this->assertEquals([],
$entries->jsonSerialize());
166 $this->assertEquals($this->entries_data, $this->entries->jsonSerialize());
testGetDescendantsOfEntries()
testGetDescendantsOfEntryTitles()
testGetParentsOfEntryTitles()
Container storing a list of UI Component Entries, can act as Iterator, countable and is serializable.
Stores Information of UI Components parsed from YAML, examples and less files.
Exceptions for the Crawler to parse Metadata from the UI Components from YAML to PHP.