30 protected function setUp(): void
38 protected const BASE_PATH =
"plugins/";
44 protected function scanDir(
string $dir): array
46 $this->test->scanned[] = $dir;
47 return $this->test->dirs[$dir] ?? [];
49 public function _scanDir(
string $dir): array
51 return parent::scanDir($dir);
53 protected function isDir(
string $dir):
bool 57 public function _isDir(
string $dir):
bool 59 return parent::isDir($dir);
61 public function _isDotFile(
string $file):
bool 63 return parent::isDotFile($file);
65 protected function buildPluginPath(
string $type,
string $component,
string $slot,
string $plugin):
string 67 return $this->test->files[parent::buildPluginPath($type, $component, $slot, $plugin)];
70 public function _buildPluginPath(
string $type,
string $component,
string $slot,
string $plugin):
string 72 return parent::buildPluginPath($type, $component, $slot, $plugin);
74 protected function addPlugin(array &
$data,
string $type,
string $component,
string $slot,
string $plugin):
void 76 $this->test->added[] =
"$type/$component/$slot/$plugin";
78 public function _addPlugin(array &$data,
string $type,
string $component,
string $slot,
string $plugin):
void 80 parent::addPlugin($data, $type, $component, $slot, $plugin);
87 $this->builder->build();
89 $expected = [
"plugins/Modules/",
"plugins/Services/"];
92 $this->assertEquals($expected, $this->scanned);
98 "plugins/" => [
"Services"],
99 "plugins/Services/" => [
"Module1",
"Module2"],
100 "plugins/Services/Module1" => [
"Slot1",
"Slot2"],
101 "plugins/Services/Module2" => []
104 $this->builder->build();
109 "plugins/Services/Module1",
110 "plugins/Services/Module1/Slot1",
111 "plugins/Services/Module1/Slot2",
112 "plugins/Services/Module2",
115 sort($this->scanned);
116 $this->assertEquals($expected, $this->scanned);
122 "plugins/" => [
"Services"],
123 "plugins/Services/" => [
"Module1"],
124 "plugins/Services/Module1" => [
"Slot1"],
125 "plugins/Services/Module1/Slot1" => [
"Plugin1",
"Plugin2"],
128 $this->builder->build();
131 "Services/Module1/Slot1/Plugin1",
132 "Services/Module1/Slot1/Plugin2" 136 $this->assertEquals($expected, $this->added);
142 $expected = [
"Component.php",
"README.md",
"ROADMAP.md",
"classes",
"exceptions",
"maintenance.json",
"service.xml",
"src",
"tests"];
143 $actual = array_values(
145 $this->builder->_scanDir(__DIR__ .
"/../.."),
146 [
"artifacts",
".DS_Store"]
149 $this->assertEquals($expected, $actual);
156 $actual = $this->builder->_isDir(__DIR__ .
"/../..");
157 $this->assertEquals($expected, $actual);
163 $actual = $this->builder->_isDotFile(
".DS_Store");
164 $this->assertEquals($expected, $actual);
170 $this->files[
"plugins/Type1/Module1/Slot1/Plugin1/"] = __DIR__ .
"/";
171 $this->builder->_addPlugin(
$data,
"Type1",
"Module1",
"Slot1",
"Plugin1");
183 "richard.klees@concepts-and-training.de",
189 $this->assertEquals($expected,
$data);
194 $this->assertEquals(
"plugins/TYPE/COMPONENT/SLOT/PLUGIN/", $this->builder->_buildPluginPath(
"TYPE",
"COMPONENT",
"SLOT",
"PLUGIN"));
ilComponentBuildPluginInfoObjective $builder
sort()
description: > Example for rendering a Sort Glyph.
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
__construct(Container $dic, ilPlugin $plugin)