29 lines
984 B
PHP
29 lines
984 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace ZipStream\Test\Zip64;
|
|
|
|
use PHPUnit\Framework\TestCase;
|
|
use ZipStream\Zip64\EndOfCentralDirectoryLocator;
|
|
|
|
class EndOfCentralDirectoryLocatorTest extends TestCase
|
|
{
|
|
public function testSerializesCorrectly(): void
|
|
{
|
|
$descriptor = EndOfCentralDirectoryLocator::generate(
|
|
numberOfTheDiskWithZip64CentralDirectoryStart: 0x11111111,
|
|
zip64centralDirectoryStartOffsetOnDisk: (0x22222222 << 32) + 0x33333333,
|
|
totalNumberOfDisks: 0x44444444,
|
|
);
|
|
|
|
$this->assertSame(
|
|
bin2hex($descriptor),
|
|
'504b0607' . // 4 bytes; zip64 end of central dir locator signature - 0x07064b50
|
|
'11111111' . // 4 bytes; number of the disk with the start of the zip64 end of central directory
|
|
'3333333322222222' . // 28 bytes; relative offset of the zip64 end of central directory record
|
|
'44444444' // 4 bytes;total number of disks
|
|
);
|
|
}
|
|
}
|