You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
877 B
40 lines
877 B
<?php |
|
|
|
declare(strict_types=1); |
|
|
|
namespace BugHonorFileTimeTest; |
|
|
|
use DateTime; |
|
|
|
use function fopen; |
|
|
|
use PHPUnit\Framework\TestCase; |
|
use ZipStream\Option\Archive; |
|
use ZipStream\Option\File; |
|
|
|
use ZipStream\ZipStream; |
|
|
|
/** |
|
* Asserts that specified last-modified timestamps are not overwritten when a |
|
* file is added |
|
*/ |
|
class BugHonorFileTimeTest extends TestCase |
|
{ |
|
public function testHonorsFileTime(): void |
|
{ |
|
$archiveOpt = new Archive(); |
|
$fileOpt = new File(); |
|
$expectedTime = new DateTime('2019-04-21T19:25:00-0800'); |
|
|
|
$archiveOpt->setOutputStream(fopen('php://memory', 'wb')); |
|
$fileOpt->setTime(clone $expectedTime); |
|
|
|
$zip = new ZipStream(null, $archiveOpt); |
|
|
|
$zip->addFile('sample.txt', 'Sample', $fileOpt); |
|
|
|
$zip->finish(); |
|
|
|
$this->assertEquals($expectedTime, $fileOpt->getTime()); |
|
} |
|
}
|
|
|