ILIAS  release_10 Revision v10.1-43-ga1241a92c2f
ilComponentInfoTest.php
Go to the documentation of this file.
1 <?php
2 
21 
22 class ilComponentInfoTest extends TestCase
23 {
27 
28  protected function setUp(): void
29  {
30  $slots = [];
31 
32  $this->component = new ilComponentInfo(
33  "mod1",
34  "components/ILIAS",
35  "Module1",
36  $slots
37  );
38 
39  $plugins = [];
40  $this->pluginslot1 = new ilPluginSlotInfo(
41  $this->component,
42  "slt1",
43  "Slot1",
44  $plugins
45  );
46 
47  $this->pluginslot2 = new ilPluginSlotInfo(
48  $this->component,
49  "slt2",
50  "Slot2",
51  $plugins
52  );
53 
54  $slots[] = $this->pluginslot1;
55  $slots[] = $this->pluginslot2;
56  }
57 
58  public function testGetter(): void
59  {
60  $this->assertEquals("mod1", $this->component->getId());
61  $this->assertEquals("components/ILIAS", $this->component->getType());
62  $this->assertEquals("Module1", $this->component->getName());
63  $this->assertEquals("components/ILIAS/Module1", $this->component->getQualifiedName());
64  }
65 
66  public function testInvalidTypeThrowsException(): void
67  {
68  $this->expectException(\InvalidArgumentException::class);
69  $slots = [];
70  new ilComponentInfo(
71  "id",
72  "SomeOtherType",
73  "name",
74  $slots
75  );
76  }
77 
78  public function testGetPluginsSlots(): void
79  {
80  $pluginslots = iterator_to_array($this->component->getPluginSlots());
81  $plugins = [];
82  $this->assertCount(2, $pluginslots);
83  $this->assertEquals(new ilPluginSlotInfo($this->component, "slt1", "Slot1", $plugins), $pluginslots["slt1"]);
84  $this->assertEquals(new ilPluginSlotInfo($this->component, "slt2", "Slot2", $plugins), $pluginslots["slt2"]);
85  }
86 
87  public function testHasPluginSlotId(): void
88  {
89  $this->assertTrue($this->component->hasPluginSlotId("slt1"));
90  $this->assertTrue($this->component->hasPluginSlotId("slt2"));
91  $this->assertFalse($this->component->hasPluginSlotId("slt3"));
92  }
93 
94  public function testGetPluginSlotById(): void
95  {
96  $plugins = [];
97  $this->assertEquals(new ilPluginSlotInfo($this->component, "slt1", "Slot1", $plugins), $this->component->getPluginSlotById("slt1"));
98  $this->assertEquals(new ilPluginSlotInfo($this->component, "slt2", "Slot2", $plugins), $this->component->getPluginSlotById("slt2"));
99  }
100 
101  public function testGetUnknownPluginSlotById(): void
102  {
103  $this->expectException(\InvalidArgumentException::class);
104  $this->component->getPluginSlotById("slt3");
105  }
106 
107  public function testGetUnknownPluginSlot(): void
108  {
109  $this->expectException(\InvalidArgumentException::class);
110  $this->component->getPluginSlotById("slt3");
111  }
112 
113  public function testHasPluginSlotName(): void
114  {
115  $this->assertTrue($this->component->hasPluginSlotName("Slot1"));
116  $this->assertTrue($this->component->hasPluginSlotName("Slot2"));
117  $this->assertFalse($this->component->hasPluginSlotName("Slot3"));
118  }
119 
120  public function testGetPluginSlotByName(): void
121  {
122  $plugins = [];
123  $this->assertEquals(new ilPluginSlotInfo($this->component, "slt1", "Slot1", $plugins), $this->component->getPluginSlotByName("Slot1"));
124  $this->assertEquals(new ilPluginSlotInfo($this->component, "slt2", "Slot2", $plugins), $this->component->getPluginSlotByName("Slot2"));
125  }
126 
127  public function testGetUnknownPluginSlotByName(): void
128  {
129  $this->expectException(\InvalidArgumentException::class);
130  $this->component->getPluginSlotById("Slot3");
131  }
132 }
Simple value class for basic information about a pluginslot.
ilPluginSlotInfo $pluginslot1
ilPluginSlotInfo $pluginslot2
ilComponentInfo $component
Simple value class for basic information about a component.