21use PHPUnit\Framework\Attributes\BackupGlobals;
22use PHPUnit\Framework\Attributes\BackupStaticProperties;
23use PHPUnit\Framework\Attributes\PreserveGlobalState;
24use PHPUnit\Framework\Attributes\RunTestsInSeparateProcesses;
26use PHPUnit\Framework\TestCase;
31#[BackupGlobals(false)]
32#[BackupStaticProperties(false)]
33#[PreserveGlobalState(false)]
34#[RunTestsInSeparateProcesses]
40 private const DIR_TO_ZIP = __DIR__ .
'/dir_zip/testing_001';
48 protected function setUp(): void
50 if (file_exists($this->unzips_dir . self::ZIPPED_ZIP)) {
51 unlink($this->unzips_dir . self::ZIPPED_ZIP);
53 if (!defined(
'CLIENT_WEB_DIR')) {
54 define(
'CLIENT_WEB_DIR', __DIR__);
56 if (!defined(
'ILIAS_WEB_DIR')) {
57 define(
'ILIAS_WEB_DIR', __DIR__);
59 if (!defined(
'CLIENT_DATA_DIR')) {
60 define(
'CLIENT_DATA_DIR', __DIR__);
62 if (!defined(
'ILIAS_ABSOLUTE_PATH')) {
63 define(
'ILIAS_ABSOLUTE_PATH', __DIR__);
65 if (!defined(
'CLIENT_ID')) {
66 define(
'CLIENT_ID',
'client_id');
72 if (!empty($this->extracting_dir) && file_exists($this->extracting_dir)) {
75 if (!empty($this->zip_output_path) && file_exists($this->zip_output_path)) {
76 unlink($this->zip_output_path);
95 $this->extracting_dir =
$extracting_dir = $this->unzips_dir .
'extracted';
106 $this->
pathToArray($extracting_dir .
'/' . basename($directory_to_zip))
119 $ignore = [
'.',
'..',
'.DS_Store'];
120 $files = new \RecursiveIteratorIterator(
121 new \RecursiveDirectoryIterator(
$path),
122 \RecursiveIteratorIterator::SELF_FIRST
125 static function ($file) use (
$path):
string {
126 $real_path = $file->getRealPath();
128 return str_replace(
$path,
'', $real_path);
132 iterator_to_array($files),
133 static fn(\SplFileInfo $file):
bool => !in_array($file->getFilename(), $ignore,
true)
141 $files = array_diff(scandir($path_to_directory), [
'.',
'..']);
142 foreach ($files as $file) {
143 (is_dir(
"$path_to_directory/$file") && !is_link(
"$path_to_directory/$file")) ? $this->
recurseRmdir(
144 "$path_to_directory/$file"
145 ) : unlink(
"$path_to_directory/$file");
147 return rmdir($path_to_directory);
pathToArray(string $path)
recurseRmdir(string $path_to_directory)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...