JarMarkerExtraFieldTest.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace PhpZip\Tests\Extra\Fields;
  3. use PHPUnit\Framework\TestCase;
  4. use PhpZip\Exception\ZipException;
  5. use PhpZip\Model\Extra\Fields\JarMarkerExtraField;
  6. /**
  7. * Class JarMarkerExtraFieldTest.
  8. *
  9. * @internal
  10. *
  11. * @small
  12. */
  13. final class JarMarkerExtraFieldTest extends TestCase
  14. {
  15. /**
  16. * @throws ZipException
  17. */
  18. public function testExtraField()
  19. {
  20. $jarField = new JarMarkerExtraField();
  21. self::assertSame('', $jarField->packLocalFileData());
  22. self::assertSame('', $jarField->packCentralDirData());
  23. self::assertEquals(JarMarkerExtraField::unpackLocalFileData(''), $jarField);
  24. self::assertEquals(JarMarkerExtraField::unpackCentralDirData(''), $jarField);
  25. }
  26. /**
  27. * @throws ZipException
  28. */
  29. public function testInvalidUnpackLocalData()
  30. {
  31. $this->expectException(
  32. ZipException::class
  33. );
  34. $this->expectExceptionMessage(
  35. "JarMarker doesn't expect any data"
  36. );
  37. JarMarkerExtraField::unpackLocalFileData("\x02\x00\00");
  38. }
  39. /**
  40. * @throws ZipException
  41. */
  42. public function testInvalidUnpackCdData()
  43. {
  44. $this->expectException(
  45. ZipException::class
  46. );
  47. $this->expectExceptionMessage(
  48. "JarMarker doesn't expect any data"
  49. );
  50. JarMarkerExtraField::unpackCentralDirData("\x02\x00\00");
  51. }
  52. }