254 lines
6.4 KiB
PHP
Executable File
254 lines
6.4 KiB
PHP
Executable File
<?php
|
|
|
|
/*
|
|
* 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.
|
|
*/
|
|
|
|
use Carbon\Carbon;
|
|
|
|
class SettersTest extends TestFixture
|
|
{
|
|
public function testYearSetter()
|
|
{
|
|
$d = Carbon::now();
|
|
$d->year = 1995;
|
|
$this->assertSame(1995, $d->year);
|
|
}
|
|
|
|
public function testMonthSetter()
|
|
{
|
|
$d = Carbon::now();
|
|
$d->month = 3;
|
|
$this->assertSame(3, $d->month);
|
|
}
|
|
|
|
public function testMonthSetterWithWrap()
|
|
{
|
|
$d = Carbon::now();
|
|
$d->month = 13;
|
|
$this->assertSame(1, $d->month);
|
|
}
|
|
|
|
public function testDaySetter()
|
|
{
|
|
$d = Carbon::now();
|
|
$d->day = 2;
|
|
$this->assertSame(2, $d->day);
|
|
}
|
|
|
|
public function testDaySetterWithWrap()
|
|
{
|
|
$d = Carbon::createFromDate(2012, 8, 5);
|
|
$d->day = 32;
|
|
$this->assertSame(1, $d->day);
|
|
}
|
|
|
|
public function testHourSetter()
|
|
{
|
|
$d = Carbon::now();
|
|
$d->hour = 2;
|
|
$this->assertSame(2, $d->hour);
|
|
}
|
|
|
|
public function testHourSetterWithWrap()
|
|
{
|
|
$d = Carbon::now();
|
|
$d->hour = 25;
|
|
$this->assertSame(1, $d->hour);
|
|
}
|
|
|
|
public function testMinuteSetter()
|
|
{
|
|
$d = Carbon::now();
|
|
$d->minute = 2;
|
|
$this->assertSame(2, $d->minute);
|
|
}
|
|
|
|
public function testMinuteSetterWithWrap()
|
|
{
|
|
$d = Carbon::now();
|
|
$d->minute = 65;
|
|
$this->assertSame(5, $d->minute);
|
|
}
|
|
|
|
public function testSecondSetter()
|
|
{
|
|
$d = Carbon::now();
|
|
$d->second = 2;
|
|
$this->assertSame(2, $d->second);
|
|
}
|
|
|
|
public function testTimeSetter()
|
|
{
|
|
$d = Carbon::now();
|
|
$d->setTime(1, 1, 1);
|
|
$this->assertSame(1, $d->second);
|
|
$d->setTime(1, 1);
|
|
$this->assertSame(0, $d->second);
|
|
}
|
|
|
|
public function testTimeSetterWithChaining()
|
|
{
|
|
$d = Carbon::now();
|
|
$d->setTime(2, 2, 2)->setTime(1, 1, 1);
|
|
$this->assertInstanceOf('Carbon\Carbon', $d);
|
|
$this->assertSame(1, $d->second);
|
|
$d->setTime(2, 2, 2)->setTime(1, 1);
|
|
$this->assertInstanceOf('Carbon\Carbon', $d);
|
|
$this->assertSame(0, $d->second);
|
|
}
|
|
|
|
public function testTimeSetterWithZero()
|
|
{
|
|
$d = Carbon::now();
|
|
$d->setTime(1, 1);
|
|
$this->assertSame(0, $d->second);
|
|
}
|
|
|
|
public function testDateTimeSetter()
|
|
{
|
|
$d = Carbon::now();
|
|
$d->setDateTime($d->year, $d->month, $d->day, 1, 1, 1);
|
|
$this->assertSame(1, $d->second);
|
|
}
|
|
|
|
public function testDateTimeSetterWithZero()
|
|
{
|
|
$d = Carbon::now();
|
|
$d->setDateTime($d->year, $d->month, $d->day, 1, 1);
|
|
$this->assertSame(0, $d->second);
|
|
}
|
|
|
|
public function testDateTimeSetterWithChaining()
|
|
{
|
|
$d = Carbon::now();
|
|
$d->setDateTime(2013, 9, 24, 17, 4, 29);
|
|
$this->assertInstanceOf('Carbon\Carbon', $d);
|
|
$d->setDateTime(2014, 10, 25, 18, 5, 30);
|
|
$this->assertInstanceOf('Carbon\Carbon', $d);
|
|
$this->assertCarbon($d, 2014, 10, 25, 18, 5, 30);
|
|
}
|
|
|
|
public function testSecondSetterWithWrap()
|
|
{
|
|
$d = Carbon::now();
|
|
$d->second = 65;
|
|
$this->assertSame(5, $d->second);
|
|
}
|
|
|
|
public function testTimestampSetter()
|
|
{
|
|
$d = Carbon::now();
|
|
$d->timestamp = 10;
|
|
$this->assertSame(10, $d->timestamp);
|
|
|
|
$d->setTimestamp(11);
|
|
$this->assertSame(11, $d->timestamp);
|
|
}
|
|
|
|
public function testSetTimezoneWithInvalidTimezone()
|
|
{
|
|
$this->setExpectedException('InvalidArgumentException');
|
|
$d = Carbon::now();
|
|
$d->setTimezone('sdf');
|
|
}
|
|
|
|
public function testTimezoneWithInvalidTimezone()
|
|
{
|
|
$d = Carbon::now();
|
|
|
|
try {
|
|
$d->timezone = 'sdf';
|
|
$this->fail('InvalidArgumentException was not been raised.');
|
|
} catch (InvalidArgumentException $expected) {
|
|
}
|
|
|
|
try {
|
|
$d->timezone('sdf');
|
|
$this->fail('InvalidArgumentException was not been raised.');
|
|
} catch (InvalidArgumentException $expected) {
|
|
}
|
|
}
|
|
public function testTzWithInvalidTimezone()
|
|
{
|
|
$d = Carbon::now();
|
|
|
|
try {
|
|
$d->tz = 'sdf';
|
|
$this->fail('InvalidArgumentException was not been raised.');
|
|
} catch (InvalidArgumentException $expected) {
|
|
}
|
|
|
|
try {
|
|
$d->tz('sdf');
|
|
$this->fail('InvalidArgumentException was not been raised.');
|
|
} catch (InvalidArgumentException $expected) {
|
|
}
|
|
}
|
|
public function testSetTimezoneUsingString()
|
|
{
|
|
$d = Carbon::now();
|
|
$d->setTimezone('America/Toronto');
|
|
$this->assertSame('America/Toronto', $d->tzName);
|
|
}
|
|
|
|
public function testTimezoneUsingString()
|
|
{
|
|
$d = Carbon::now();
|
|
$d->timezone = 'America/Toronto';
|
|
$this->assertSame('America/Toronto', $d->tzName);
|
|
|
|
$d->timezone('America/Vancouver');
|
|
$this->assertSame('America/Vancouver', $d->tzName);
|
|
}
|
|
|
|
public function testTzUsingString()
|
|
{
|
|
$d = Carbon::now();
|
|
$d->tz = 'America/Toronto';
|
|
$this->assertSame('America/Toronto', $d->tzName);
|
|
|
|
$d->tz('America/Vancouver');
|
|
$this->assertSame('America/Vancouver', $d->tzName);
|
|
}
|
|
|
|
public function testSetTimezoneUsingDateTimeZone()
|
|
{
|
|
$d = Carbon::now();
|
|
$d->setTimezone(new \DateTimeZone('America/Toronto'));
|
|
$this->assertSame('America/Toronto', $d->tzName);
|
|
}
|
|
|
|
public function testTimezoneUsingDateTimeZone()
|
|
{
|
|
$d = Carbon::now();
|
|
$d->timezone = new \DateTimeZone('America/Toronto');
|
|
$this->assertSame('America/Toronto', $d->tzName);
|
|
|
|
$d->timezone(new \DateTimeZone('America/Vancouver'));
|
|
$this->assertSame('America/Vancouver', $d->tzName);
|
|
}
|
|
|
|
public function testTzUsingDateTimeZone()
|
|
{
|
|
$d = Carbon::now();
|
|
$d->tz = new \DateTimeZone('America/Toronto');
|
|
$this->assertSame('America/Toronto', $d->tzName);
|
|
|
|
$d->tz(new \DateTimeZone('America/Vancouver'));
|
|
$this->assertSame('America/Vancouver', $d->tzName);
|
|
}
|
|
|
|
public function testInvalidSetter()
|
|
{
|
|
$this->setExpectedException('InvalidArgumentException');
|
|
$d = Carbon::now();
|
|
$d->doesNotExit = 'bb';
|
|
}
|
|
}
|