allow vendord
All checks were successful
Build, Push and Deploy / build-and-push (push) Successful in 3m3s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 16s
Build, Push and Deploy / deploy-staging (push) Successful in 32s
Build, Push and Deploy / deploy-production (push) Has been skipped
Build, Push and Deploy / cleanup (push) Successful in 1s

This commit is contained in:
2026-03-30 14:54:57 +07:00
parent 66aed7c4e8
commit b5e3a778ce
21316 changed files with 2777892 additions and 13 deletions

View File

@@ -0,0 +1,44 @@
<?php
declare(strict_types=1);
namespace ZipStream\Test;
use DateTimeImmutable;
use PHPUnit\Framework\TestCase;
use ZipStream\Exception\DosTimeOverflowException;
use ZipStream\Time;
class TimeTest extends TestCase
{
public function testNormalDateToDosTime(): void
{
$this->assertSame(
Time::dateTimeToDosTime(new DateTimeImmutable('2014-11-17T17:46:08Z')),
1165069764
);
// January 1 1980 - DOS Epoch.
$this->assertSame(
Time::dateTimeToDosTime(new DateTimeImmutable('1980-01-01T00:00:00+00:00')),
2162688
);
// Local timezone different than UTC.
$prevLocalTimezone = date_default_timezone_get();
date_default_timezone_set('Europe/Berlin');
$this->assertSame(
Time::dateTimeToDosTime(new DateTimeImmutable('1980-01-01T00:00:00+00:00')),
2162688
);
date_default_timezone_set($prevLocalTimezone);
}
public function testTooEarlyDateToDosTime(): void
{
$this->expectException(DosTimeOverflowException::class);
// January 1 1980 is the minimum DOS Epoch.
Time::dateTimeToDosTime(new DateTimeImmutable('1970-01-01T00:00:00+00:00'));
}
}