1
0
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:
Ne-Lexa
2017-11-15 16:24:14 +03:00
parent f29fed2753
commit a1da1f0069
2 changed files with 57 additions and 3 deletions

View 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();
}
}