ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ILIAS\Filesystem\Util\LegacyZipTest Class Reference
+ Inheritance diagram for ILIAS\Filesystem\Util\LegacyZipTest:
+ Collaboration diagram for ILIAS\Filesystem\Util\LegacyZipTest:

Public Member Functions

 testZipAndUnzipWithTop ()
 

Data Fields

const ZIPPED_ZIP = 'zipped.zip'
 

Protected Member Functions

 setUp ()
 
 tearDown ()
 

Protected Attributes

string $zips_dir = __DIR__ . '/zips/'
 
string $unzips_dir = __DIR__ . '/unzips/'
 

Private Member Functions

 pathToArray (string $path)
 
 recurseRmdir (string $path_to_directory)
 

Private Attributes

const DIR_TO_ZIP = __DIR__ . '/dir_zip/testing_001'
 
string $extracting_dir = ''
 
string $zip_output_path = ''
 

Detailed Description

Author
Fabian Schmid fabia.nosp@m.n@sr.nosp@m..solu.nosp@m.tion.nosp@m.s

Definition at line 35 of file LegacyZipTest.php.

Member Function Documentation

◆ pathToArray()

ILIAS\Filesystem\Util\LegacyZipTest::pathToArray ( string  $path)
private

Definition at line 117 of file LegacyZipTest.php.

117 : array
118 {
119 $ignore = ['.', '..', '.DS_Store'];
120 $files = new \RecursiveIteratorIterator(
121 new \RecursiveDirectoryIterator($path),
122 \RecursiveIteratorIterator::SELF_FIRST
123 );
124 return array_map(
125 static function ($file) use ($path): string {
126 $real_path = $file->getRealPath();
127
128 return str_replace($path, '', $real_path);
129 },
130 array_values(
131 array_filter(
132 iterator_to_array($files),
133 static fn(\SplFileInfo $file): bool => !in_array($file->getFilename(), $ignore, true)
134 )
135 )
136 );
137 }
$path
Definition: ltiservices.php:30

References $path.

Referenced by ILIAS\Filesystem\Util\LegacyZipTest\testZipAndUnzipWithTop().

+ Here is the caller graph for this function:

◆ recurseRmdir()

ILIAS\Filesystem\Util\LegacyZipTest::recurseRmdir ( string  $path_to_directory)
private

Definition at line 139 of file LegacyZipTest.php.

139 : bool
140 {
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");
146 }
147 return rmdir($path_to_directory);
148 }
recurseRmdir(string $path_to_directory)

References ILIAS\Filesystem\Util\LegacyZipTest\recurseRmdir().

Referenced by ILIAS\Filesystem\Util\LegacyZipTest\recurseRmdir(), ILIAS\Filesystem\Util\LegacyZipTest\tearDown(), and ILIAS\Filesystem\Util\LegacyZipTest\testZipAndUnzipWithTop().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setUp()

ILIAS\Filesystem\Util\LegacyZipTest::setUp ( )
protected

Definition at line 48 of file LegacyZipTest.php.

48 : void
49 {
50 if (file_exists($this->unzips_dir . self::ZIPPED_ZIP)) {
51 unlink($this->unzips_dir . self::ZIPPED_ZIP);
52 }
53 if (!defined('CLIENT_WEB_DIR')) {
54 define('CLIENT_WEB_DIR', __DIR__);
55 }
56 if (!defined('ILIAS_WEB_DIR')) {
57 define('ILIAS_WEB_DIR', __DIR__);
58 }
59 if (!defined('CLIENT_DATA_DIR')) {
60 define('CLIENT_DATA_DIR', __DIR__);
61 }
62 if (!defined('ILIAS_ABSOLUTE_PATH')) {
63 define('ILIAS_ABSOLUTE_PATH', __DIR__);
64 }
65 if (!defined('CLIENT_ID')) {
66 define('CLIENT_ID', 'client_id');
67 }
68 }

◆ tearDown()

ILIAS\Filesystem\Util\LegacyZipTest::tearDown ( )
protected

Definition at line 70 of file LegacyZipTest.php.

70 : void
71 {
72 if (!empty($this->extracting_dir) && file_exists($this->extracting_dir)) {
73 $this->recurseRmdir($this->extracting_dir);
74 }
75 if (!empty($this->zip_output_path) && file_exists($this->zip_output_path)) {
76 unlink($this->zip_output_path);
77 }
78 }

References ILIAS\Filesystem\Util\LegacyZipTest\recurseRmdir().

+ Here is the call graph for this function:

◆ testZipAndUnzipWithTop()

ILIAS\Filesystem\Util\LegacyZipTest::testZipAndUnzipWithTop ( )

Definition at line 80 of file LegacyZipTest.php.

80 : void
81 {
82 $legacy = new LegacyArchives();
83 $directory_to_zip = self::DIR_TO_ZIP;
84 $this->zip_output_path = $zip_output_path = $this->zips_dir . self::ZIPPED_ZIP;
85
86 $legacy->zip(
87 $directory_to_zip,
89 true
90 );
91
92 $this->assertFileExists($zip_output_path);
93
94 // unzip
95 $this->extracting_dir = $extracting_dir = $this->unzips_dir . 'extracted';
96 $legacy->unzip(
99 true,
100 false,
101 false
102 );
103
104 $this->assertEquals(
105 $this->pathToArray($directory_to_zip),
106 $this->pathToArray($extracting_dir . '/' . basename($directory_to_zip))
107 );
108
109 // remove zip file
110 unlink($zip_output_path);
111 $this->assertFileDoesNotExist($zip_output_path);
112
113 // remove extracted dir
115 }

References ILIAS\Filesystem\Util\LegacyZipTest\$extracting_dir, ILIAS\Filesystem\Util\LegacyZipTest\$zip_output_path, ILIAS\Filesystem\Util\LegacyZipTest\DIR_TO_ZIP, ILIAS\Filesystem\Util\LegacyZipTest\pathToArray(), ILIAS\Filesystem\Util\LegacyZipTest\recurseRmdir(), and ILIAS\Filesystem\Util\LegacyZipTest\ZIPPED_ZIP.

+ Here is the call graph for this function:

Field Documentation

◆ $extracting_dir

string ILIAS\Filesystem\Util\LegacyZipTest::$extracting_dir = ''
private

◆ $unzips_dir

string ILIAS\Filesystem\Util\LegacyZipTest::$unzips_dir = __DIR__ . '/unzips/'
protected

Definition at line 43 of file LegacyZipTest.php.

◆ $zip_output_path

string ILIAS\Filesystem\Util\LegacyZipTest::$zip_output_path = ''
private

◆ $zips_dir

string ILIAS\Filesystem\Util\LegacyZipTest::$zips_dir = __DIR__ . '/zips/'
protected

Definition at line 42 of file LegacyZipTest.php.

◆ DIR_TO_ZIP

const ILIAS\Filesystem\Util\LegacyZipTest::DIR_TO_ZIP = __DIR__ . '/dir_zip/testing_001'
private

◆ ZIPPED_ZIP

const ILIAS\Filesystem\Util\LegacyZipTest::ZIPPED_ZIP = 'zipped.zip'

The documentation for this class was generated from the following file: