HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ip-172-26-0-120 6.17.0-1009-aws #9~24.04.2-Ubuntu SMP Fri Mar 6 23:50:29 UTC 2026 x86_64
User: ubuntu (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: /var/www/html/spion/vendor/maennchen/zipstream-php/test/Zip64/EndOfCentralDirectoryTest.php
<?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')
        );
    }
}