ZipEventTest.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace PhpZip\Tests;
  3. use PhpZip\Exception\ZipException;
  4. use PhpZip\Tests\Internal\ZipFileExtended;
  5. /**
  6. * @internal
  7. *
  8. * @small
  9. */
  10. class ZipEventTest extends ZipTestCase
  11. {
  12. /**
  13. * @throws ZipException
  14. */
  15. public function testBeforeSave()
  16. {
  17. $zipFile = new ZipFileExtended();
  18. $zipFile->openFile(__DIR__ . '/resources/apk.zip');
  19. static::assertTrue(isset($zipFile['META-INF/MANIFEST.MF']));
  20. static::assertTrue(isset($zipFile['META-INF/CERT.SF']));
  21. static::assertTrue(isset($zipFile['META-INF/CERT.RSA']));
  22. // the "META-INF/" folder will be deleted when saved
  23. // in the ZipFileExtended::onBeforeSave() method
  24. $zipFile->saveAsFile($this->outputFilename);
  25. static::assertFalse(isset($zipFile['META-INF/MANIFEST.MF']));
  26. static::assertFalse(isset($zipFile['META-INF/CERT.SF']));
  27. static::assertFalse(isset($zipFile['META-INF/CERT.RSA']));
  28. $zipFile->close();
  29. static::assertCorrectZipArchive($this->outputFilename);
  30. $zipFile->openFile($this->outputFilename);
  31. static::assertFalse(isset($zipFile['META-INF/MANIFEST.MF']));
  32. static::assertFalse(isset($zipFile['META-INF/CERT.SF']));
  33. static::assertFalse(isset($zipFile['META-INF/CERT.RSA']));
  34. $zipFile->close();
  35. }
  36. }