ILIAS  trunk Revision v11.0_alpha-1761-g6dbbfa7b760
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
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.

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

117  : array
118  {
119  $ignore = ['.', '..', '.DS_Store'];
120  $files = new \RecursiveIteratorIterator(
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:29
+ 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.

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

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)
+ 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.

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

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  }
recurseRmdir(string $path_to_directory)
+ Here is the call graph for this function:

◆ testZipAndUnzipWithTop()

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

Definition at line 80 of file LegacyZipTest.php.

References ILIAS\Filesystem\Util\LegacyZipTest\pathToArray(), and ILIAS\Filesystem\Util\LegacyZipTest\recurseRmdir().

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->assertTrue(file_exists($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->assertFalse(file_exists($zip_output_path));
112 
113  // remove extracted dir
115  }
recurseRmdir(string $path_to_directory)
+ Here is the call graph for this function:

Field Documentation

◆ $extracting_dir

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

Definition at line 44 of file LegacyZipTest.php.

◆ $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

Definition at line 46 of file LegacyZipTest.php.

◆ $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

Definition at line 40 of file LegacyZipTest.php.

◆ ZIPPED_ZIP

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

Definition at line 41 of file LegacyZipTest.php.


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