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.
70 lines
2.2 KiB
70 lines
2.2 KiB
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
/**
|
|
* This file is part of the Carbon package.
|
|
*
|
|
* (c) Brian Nesbitt <brian@nesbot.com>
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace Tests\CarbonTimeZone;
|
|
|
|
use Carbon\CarbonTimeZone;
|
|
use Carbon\FactoryImmutable;
|
|
use DateTimeImmutable;
|
|
use Tests\AbstractTestCase;
|
|
|
|
class GettersTest extends AbstractTestCase
|
|
{
|
|
public function testGetAbbr(): void
|
|
{
|
|
$tz = new CarbonTimeZone('Europe/London');
|
|
|
|
$this->assertSame('bdst', $tz->getAbbr(true));
|
|
$this->assertSame('bst', $tz->getAbbr(false));
|
|
}
|
|
|
|
public function testGetAbbreviatedName(): void
|
|
{
|
|
$tz = new CarbonTimeZone('Europe/London');
|
|
|
|
$this->assertSame('bdst', $tz->getAbbreviatedName(true));
|
|
$this->assertSame('bst', $tz->getAbbreviatedName(false));
|
|
}
|
|
|
|
public function testToRegionName(): void
|
|
{
|
|
$summer = new DateTimeImmutable('2024-08-19 12:00 UTC');
|
|
$tz = new CarbonTimeZone('Europe/London');
|
|
|
|
$this->assertSame('Europe/London', $tz->toRegionName($summer));
|
|
|
|
$tz = new CarbonTimeZone('+05:00');
|
|
|
|
$this->assertSame('Antarctica/Mawson', $tz->toRegionName($summer));
|
|
|
|
$tz = new CarbonTimeZone('+05:00');
|
|
|
|
$this->assertSame('Antarctica/Mawson', $tz->toRegionName($summer));
|
|
|
|
$factory = new FactoryImmutable();
|
|
$factory->setTestNowAndTimezone('2024-01-19 12:00 UTC');
|
|
|
|
$this->assertSame('-06:00', $factory->now('America/Chicago')->getTimezone()->toOffsetName());
|
|
|
|
// The 2 assertions below are the current behavior
|
|
// but it's questionable, as current time is in winter, -6 should give Chicago
|
|
// @TODO Check this deeper
|
|
$this->assertSame('America/Chicago', $factory->now('-05:00')->getTimezone()->toRegionName());
|
|
$this->assertSame('America/Denver', $factory->now('-06:00')->getTimezone()->toRegionName());
|
|
|
|
$factory->setTestNowAndTimezone('2024-08-19 12:00 UTC');
|
|
|
|
$this->assertSame('-05:00', $factory->now('America/Chicago')->getTimezone()->toOffsetName());
|
|
$this->assertSame('America/Chicago', $factory->now('-05:00')->getTimezone()->toRegionName());
|
|
}
|
|
}
|
|
|