2
0

ZipEventTest.php 1.4 KB

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