commit
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace ZipStream\Test\Zip64;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use ZipStream\Zip64\EndOfCentralDirectory;
|
||||
|
||||
class EndOfCentralDirectoryTest extends TestCase
|
||||
{
|
||||
public function testSerializesCorrectly(): void
|
||||
{
|
||||
$descriptor = EndOfCentralDirectory::generate(
|
||||
versionMadeBy: 0x3333,
|
||||
versionNeededToExtract: 0x4444,
|
||||
numberOfThisDisk: 0x55555555,
|
||||
numberOfTheDiskWithCentralDirectoryStart: 0x66666666,
|
||||
numberOfCentralDirectoryEntriesOnThisDisk: (0x77777777 << 32) + 0x88888888,
|
||||
numberOfCentralDirectoryEntries: (0x99999999 << 32) + 0xAAAAAAAA,
|
||||
sizeOfCentralDirectory: (0xBBBBBBBB << 32) + 0xCCCCCCCC,
|
||||
centralDirectoryStartOffsetOnDisk: (0xDDDDDDDD << 32) + 0xEEEEEEEE,
|
||||
extensibleDataSector: 'foo',
|
||||
);
|
||||
|
||||
$this->assertSame(
|
||||
bin2hex($descriptor),
|
||||
'504b0606' // 4 bytes;zip64 end of central dir signature - 0x06064b50
|
||||
. '2f00000000000000' // 8 bytes; size of zip64 end of central directory record
|
||||
. '3333' // 2 bytes; version made by
|
||||
. '4444' // 2 bytes; version needed to extract
|
||||
. '55555555' // 4 bytes; number of this disk
|
||||
. '66666666' // 4 bytes; number of the disk with the start of the central directory
|
||||
. '8888888877777777' // 8 bytes; total number of entries in the central directory on this disk
|
||||
. 'aaaaaaaa99999999' // 8 bytes; total number of entries in the central directory
|
||||
. 'ccccccccbbbbbbbb' // 8 bytes; size of the central directory
|
||||
. 'eeeeeeeedddddddd' // 8 bytes; offset of start of central directory with respect to the starting disk number
|
||||
. bin2hex('foo')
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user