mirror of
https://gitlab.com/TheGamecraft/c-cms.git
synced 2026-04-23 11:29:10 -04:00
ALPHA 3.0.2a
This commit is contained in:
@@ -3,27 +3,77 @@
|
||||
namespace Faker\Test\Provider;
|
||||
|
||||
use Faker\Provider\DateTime as DateTimeProvider;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class DateTimeTest extends \PHPUnit_Framework_TestCase
|
||||
class DateTimeTest extends TestCase
|
||||
{
|
||||
public function setUp()
|
||||
{
|
||||
$this->originalTz = date_default_timezone_get();
|
||||
$this->defaultTz = 'UTC';
|
||||
date_default_timezone_set($this->defaultTz);
|
||||
DateTimeProvider::setDefaultTimezone($this->defaultTz);
|
||||
}
|
||||
|
||||
public function tearDown()
|
||||
{
|
||||
date_default_timezone_set($this->originalTz);
|
||||
DateTimeProvider::setDefaultTimezone();
|
||||
}
|
||||
|
||||
public function testPreferDefaultTimezoneOverSystemTimezone()
|
||||
{
|
||||
/**
|
||||
* Set the system timezone to something *other* than the timezone used
|
||||
* in setUp().
|
||||
*/
|
||||
$originalSystemTimezone = date_default_timezone_get();
|
||||
$systemTimezone = 'Antarctica/Vostok';
|
||||
date_default_timezone_set($systemTimezone);
|
||||
|
||||
/**
|
||||
* Get a new date/time value and assert that it prefers the default
|
||||
* timezone over the system timezone.
|
||||
*/
|
||||
$date = DateTimeProvider::dateTime();
|
||||
$this->assertNotSame($systemTimezone, $date->getTimezone()->getName());
|
||||
$this->assertSame($this->defaultTz, $date->getTimezone()->getName());
|
||||
|
||||
/**
|
||||
* Restore the system timezone.
|
||||
*/
|
||||
date_default_timezone_set($originalSystemTimezone);
|
||||
}
|
||||
|
||||
public function testUseSystemTimezoneWhenDefaultTimezoneIsNotSet()
|
||||
{
|
||||
/**
|
||||
* Set the system timezone to something *other* than the timezone used
|
||||
* in setUp() *and* reset the default timezone.
|
||||
*/
|
||||
$originalSystemTimezone = date_default_timezone_get();
|
||||
$originalDefaultTimezone = DateTimeProvider::getDefaultTimezone();
|
||||
$systemTimezone = 'Antarctica/Vostok';
|
||||
date_default_timezone_set($systemTimezone);
|
||||
DateTimeProvider::setDefaultTimezone();
|
||||
|
||||
/**
|
||||
* Get a new date/time value and assert that it uses the system timezone
|
||||
* and not the system timezone.
|
||||
*/
|
||||
$date = DateTimeProvider::dateTime();
|
||||
$this->assertSame($systemTimezone, $date->getTimezone()->getName());
|
||||
$this->assertNotSame($this->defaultTz, $date->getTimezone()->getName());
|
||||
|
||||
/**
|
||||
* Restore the system timezone.
|
||||
*/
|
||||
date_default_timezone_set($originalSystemTimezone);
|
||||
}
|
||||
|
||||
public function testUnixTime()
|
||||
{
|
||||
$timestamp = DateTimeProvider::unixTime();
|
||||
$this->assertInternalType('int', $timestamp);
|
||||
$this->assertTrue($timestamp >= 0);
|
||||
$this->assertTrue($timestamp <= time());
|
||||
$this->assertGreaterThanOrEqual(0, $timestamp);
|
||||
$this->assertLessThanOrEqual(time(), $timestamp);
|
||||
}
|
||||
|
||||
public function testDateTime()
|
||||
@@ -186,7 +236,7 @@ class DateTimeTest extends \PHPUnit_Framework_TestCase
|
||||
|
||||
public function testFixedSeedWithMaximumTimestamp()
|
||||
{
|
||||
$max = '2018-03-01 12:00:00';
|
||||
$max = '2118-03-01 12:00:00';
|
||||
|
||||
mt_srand(1);
|
||||
$unixTime = DateTimeProvider::unixTime($max);
|
||||
|
||||
Reference in New Issue
Block a user