123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- <?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\Carbon;
- use BadMethodCallException;
- use Carbon\Carbon;
- use InvalidArgumentException;
- use Tests\AbstractTestCase;
- class StrictModeTest extends AbstractTestCase
- {
- public function testSafeCreateDateTimeZoneWithStrictMode1()
- {
- $this->expectExceptionObject(new InvalidArgumentException(
- 'Unknown or bad timezone (-15)'
- ));
- Carbon::createFromDate(2001, 1, 1, -15);
- }
- public function testSafeCreateDateTimeZoneWithStrictMode2()
- {
- $this->expectExceptionObject(new InvalidArgumentException(
- 'Unknown or bad timezone (foobar)'
- ));
- Carbon::createFromDate(2001, 1, 1, 'foobar');
- }
- public function testSafeCreateDateTimeZoneWithoutStrictMode()
- {
- Carbon::useStrictMode(false);
- $this->assertFalse(Carbon::createFromDate(2001, 1, 1, -15));
- $this->assertFalse(Carbon::createFromDate(2001, 1, 1, 'foobar'));
- }
- public function testSetWithStrictMode()
- {
- $this->expectExceptionObject(new InvalidArgumentException(
- 'Unknown setter \'foobar\''
- ));
- /** @var mixed $date */
- $date = Carbon::now();
- $date->foobar = 'biz';
- }
- public function testGetWithStrictMode()
- {
- $this->expectExceptionObject(new InvalidArgumentException(
- 'Unknown getter \'foobar\''
- ));
- /** @var mixed $date */
- $date = Carbon::now();
- $date->foobar;
- }
- public function testSetAndGetWithoutStrictMode()
- {
- Carbon::useStrictMode(false);
- /** @var mixed $date */
- $date = Carbon::now();
- @$date->foobar = 'biz';
- $this->assertSame('biz', $date->foobar);
- }
- public function testIsSameUnitWithStrictMode()
- {
- $this->expectExceptionObject(new InvalidArgumentException(
- 'Bad comparison unit: \'foobar\''
- ));
- Carbon::now()->isSameUnit('foobar');
- }
- public function testIsSameUnitWithoutStrictMode()
- {
- Carbon::useStrictMode(false);
- $this->assertFalse(Carbon::now()->isSameUnit('foobar'));
- }
- public function testAddRealUnitWithStrictMode()
- {
- $this->expectExceptionObject(new InvalidArgumentException(
- 'Invalid unit for real timestamp add/sub: \'foobar\''
- ));
- Carbon::now()->addRealUnit('foobar');
- }
- public function testAddRealUnitWithoutStrictMode()
- {
- Carbon::useStrictMode(false);
- $d = Carbon::create(2000, 1, 2, 3, 4, 5)->addRealUnit('foobar');
- $this->assertCarbon($d, 2000, 1, 2, 3, 4, 5);
- }
- public function testCallWithStrictMode()
- {
- $this->expectExceptionObject(new BadMethodCallException(
- 'Method foobar does not exist.'
- ));
- /** @var mixed $date */
- $date = Carbon::now();
- $date->foobar();
- }
- public function testCallWithoutStrictMode()
- {
- Carbon::useStrictMode(false);
- /** @var mixed $date */
- $date = Carbon::now();
- $this->assertNull($date->foobar());
- }
- public function testStaticCallWithStrictMode()
- {
- $this->expectExceptionObject(new BadMethodCallException(
- 'Method Carbon\Carbon::foobar does not exist.'
- ));
- Carbon::foobar();
- }
- public function testStaticCallWithoutStrictMode()
- {
- Carbon::useStrictMode(false);
- $this->assertNull(Carbon::foobar());
- }
- }
|