summaryrefslogtreecommitdiffstats
path: root/vendor/maennchen/zipstream-php/test/bug/BugHonorFileTimeTest.php
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--vendor/maennchen/zipstream-php/test/bug/BugHonorFileTimeTest.php40
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());
+ }
+}