mirror of
https://github.com/Ne-Lexa/php-zip.git
synced 2025-08-11 01:34:36 +02:00
Added an event that runs before the archive is saved or output.
This commit is contained in:
42
tests/PhpZip/ZipEventTest.php
Normal file
42
tests/PhpZip/ZipEventTest.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace PhpZip;
|
||||
|
||||
class ZipFileExtended extends ZipFile
|
||||
{
|
||||
protected function onBeforeSave()
|
||||
{
|
||||
parent::onBeforeSave();
|
||||
$this->setZipAlign(4);
|
||||
$this->deleteFromRegex('~^META\-INF/~i');
|
||||
}
|
||||
}
|
||||
|
||||
class ZipEventTest extends ZipTestCase
|
||||
{
|
||||
public function testBeforeSave()
|
||||
{
|
||||
$zipFile = new ZipFileExtended();
|
||||
$zipFile->openFile(__DIR__ . '/resources/test.apk');
|
||||
self::assertTrue(isset($zipFile['META-INF/MANIFEST.MF']));
|
||||
self::assertTrue(isset($zipFile['META-INF/CERT.SF']));
|
||||
self::assertTrue(isset($zipFile['META-INF/CERT.RSA']));
|
||||
$zipFile->saveAsFile($this->outputFilename);
|
||||
self::assertFalse(isset($zipFile['META-INF/MANIFEST.MF']));
|
||||
self::assertFalse(isset($zipFile['META-INF/CERT.SF']));
|
||||
self::assertFalse(isset($zipFile['META-INF/CERT.RSA']));
|
||||
$zipFile->close();
|
||||
|
||||
self::assertCorrectZipArchive($this->outputFilename);
|
||||
$result = self::doZipAlignVerify($this->outputFilename);
|
||||
if (null !== $result) {
|
||||
self::assertTrue($result);
|
||||
}
|
||||
|
||||
$zipFile->openFile($this->outputFilename);
|
||||
self::assertFalse(isset($zipFile['META-INF/MANIFEST.MF']));
|
||||
self::assertFalse(isset($zipFile['META-INF/CERT.SF']));
|
||||
self::assertFalse(isset($zipFile['META-INF/CERT.RSA']));
|
||||
$zipFile->close();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user