24 protected function setUp(): void
32 protected const BASE_PATH =
"";
38 protected function scanDir(
string $dir): array
40 $this->test->scanned[] = $dir;
41 return $this->test->dirs[$dir] ?? [];
43 public function _scanDir(
string $dir): array
45 return parent::scanDir($dir);
47 protected function isDir(
string $dir):
bool 51 public function _isDir(
string $dir):
bool 53 return parent::isDir($dir);
55 public function _isDotFile(
string $file):
bool 57 return parent::isDotFile($file);
59 protected function buildPluginPath(
string $type,
string $component,
string $slot,
string $plugin):
string 61 return $this->test->files[parent::buildPluginPath($type, $component, $slot, $plugin)];
64 public function _buildPluginPath(
string $type,
string $component,
string $slot,
string $plugin):
string 66 return parent::buildPluginPath($type, $component, $slot, $plugin);
68 protected function addPlugin(array &
$data,
string $type,
string $component,
string $slot,
string $plugin):
void 70 $this->test->added[] =
"$type/$component/$slot/$plugin";
72 public function _addPlugin(array &$data,
string $type,
string $component,
string $slot,
string $plugin):
void 74 parent::addPlugin($data, $type, $component, $slot, $plugin);
81 $this->builder->build();
83 $expected = [
"Modules",
"Services"];
86 $this->assertEquals($expected, $this->scanned);
92 "Modules" => [
"Module1",
"Module2"],
93 "Services" => [
"Service1"],
94 "Modules/Module1" => [
"Slot1",
"Slot2"],
95 "Modules/Module2" => [],
96 "Services/Service1" => [
"Slot3",
".DS_Store"]
99 $this->builder->build();
101 $expected = [
"Modules",
"Services",
"Modules/Module1",
"Modules/Module2",
102 "Services/Service1",
"Modules/Module1/Slot1",
"Modules/Module1/Slot2",
103 "Services/Service1/Slot3"];
105 sort($this->scanned);
106 $this->assertEquals($expected, $this->scanned);
112 "Modules" => [
"Module1"],
113 "Services" => [
"Service1"],
114 "Modules/Module1" => [
"Slot1"],
115 "Services/Service1" => [
"Slot2"],
116 "Modules/Module1/Slot1" => [
"Plugin1",
"Plugin2"],
117 "Services/Service1/Slot2" => [
"Plugin3"]
120 $this->builder->build();
123 "Modules/Module1/Slot1/Plugin1",
124 "Modules/Module1/Slot1/Plugin2",
125 "Services/Service1/Slot2/Plugin3" 129 $this->assertEquals($expected, $this->added);
135 $expected = [
"ROADMAP.md",
"classes",
"exceptions",
"maintenance.json",
"service.xml",
"test"];
136 $actual = array_values(
138 $this->builder->_scanDir(__DIR__ .
"/../.."),
139 [
"artifacts",
".DS_Store"]
142 $this->assertEquals($expected, $actual);
149 $actual = $this->builder->_isDir(__DIR__ .
"/../..");
150 $this->assertEquals($expected, $actual);
156 $actual = $this->builder->_isDotFile(
".DS_Store");
157 $this->assertEquals($expected, $actual);
163 $this->files[
"Modules/Module1/Slot1/Plugin1/"] = __DIR__ .
"/";
164 $this->builder->_addPlugin(
$data,
"Modules",
"Module1",
"Slot1",
"Plugin1");
176 "richard.klees@concepts-and-training.de",
182 $this->assertEquals($expected,
$data);
187 $this->assertEquals(
"TYPE/COMPONENT/SLOT/PLUGIN/", $this->builder->_buildPluginPath(
"TYPE",
"COMPONENT",
"SLOT",
"PLUGIN"));
ilComponentBuildPluginInfoObjective $builder
__construct(Container $dic, ilPlugin $plugin)