diff options
Diffstat (limited to 'vendor/maennchen/zipstream-php/test/bug/BugHonorFileTimeTest.php')
-rw-r--r-- | vendor/maennchen/zipstream-php/test/bug/BugHonorFileTimeTest.php | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/vendor/maennchen/zipstream-php/test/bug/BugHonorFileTimeTest.php b/vendor/maennchen/zipstream-php/test/bug/BugHonorFileTimeTest.php new file mode 100644 index 0000000..05de4fe --- /dev/null +++ b/vendor/maennchen/zipstream-php/test/bug/BugHonorFileTimeTest.php @@ -0,0 +1,40 @@ +<?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()); + } +} |