aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/maennchen/zipstream-php/test/EndOfCentralDirectoryTest.php
blob: be0a90743d087666e814608a05da612507b544f9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php

declare(strict_types=1);

namespace ZipStream\Test;

use PHPUnit\Framework\TestCase;
use ZipStream\EndOfCentralDirectory;

class EndOfCentralDirectoryTest extends TestCase
{
    public function testSerializesCorrectly(): void
    {
        $this->assertSame(
            bin2hex(EndOfCentralDirectory::generate(
                numberOfThisDisk: 0x00,
                numberOfTheDiskWithCentralDirectoryStart: 0x00,
                numberOfCentralDirectoryEntriesOnThisDisk: 0x10,
                numberOfCentralDirectoryEntries: 0x10,
                sizeOfCentralDirectory: 0x22,
                centralDirectoryStartOffsetOnDisk: 0x33,
                zipFileComment: 'foo',
            )),
            '504b0506' . // 4 bytes; end of central dir signature 0x06054b50
            '0000' . // 2 bytes; number of this disk
            '0000' . // 2 bytes; number of the disk with the start of the central directory
            '1000' . // 2 bytes; total number of entries in the central directory on this disk
            '1000' . // 2 bytes; total number of entries in the central directory
            '22000000' . // 4 bytes; size of the central directory
            '33000000' . // 4 bytes; offset of start of central directory with respect to the starting disk number
            '0300' . // 2 bytes; .ZIP file comment length
            bin2hex('foo')
        );
    }
}