2
0

ZipEventTest.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace PhpZip;
  3. class ZipFileExtended extends ZipFile
  4. {
  5. protected function onBeforeSave()
  6. {
  7. parent::onBeforeSave();
  8. $this->setZipAlign(4);
  9. $this->deleteFromRegex('~^META\-INF/~i');
  10. }
  11. }
  12. class ZipEventTest extends ZipTestCase
  13. {
  14. public function testBeforeSave()
  15. {
  16. $zipFile = new ZipFileExtended();
  17. $zipFile->openFile(__DIR__ . '/resources/test.apk');
  18. self::assertTrue(isset($zipFile['META-INF/MANIFEST.MF']));
  19. self::assertTrue(isset($zipFile['META-INF/CERT.SF']));
  20. self::assertTrue(isset($zipFile['META-INF/CERT.RSA']));
  21. $zipFile->saveAsFile($this->outputFilename);
  22. self::assertFalse(isset($zipFile['META-INF/MANIFEST.MF']));
  23. self::assertFalse(isset($zipFile['META-INF/CERT.SF']));
  24. self::assertFalse(isset($zipFile['META-INF/CERT.RSA']));
  25. $zipFile->close();
  26. self::assertCorrectZipArchive($this->outputFilename);
  27. $result = self::doZipAlignVerify($this->outputFilename);
  28. if (null !== $result) {
  29. self::assertTrue($result);
  30. }
  31. $zipFile->openFile($this->outputFilename);
  32. self::assertFalse(isset($zipFile['META-INF/MANIFEST.MF']));
  33. self::assertFalse(isset($zipFile['META-INF/CERT.SF']));
  34. self::assertFalse(isset($zipFile['META-INF/CERT.RSA']));
  35. $zipFile->close();
  36. }
  37. }