p2 project
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.

104 lines
2.8 KiB

2 months ago
<?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\CarbonImmutable;
use Carbon\CarbonImmutable as Carbon;
use Generator;
use PHPUnit\Framework\Attributes\DataProvider;
use Tests\AbstractTestCase;
class IssetTest extends AbstractTestCase
{
public function testIssetReturnFalseForUnknownProperty(): void
{
$this->assertFalse(isset($this->immutableNow->sdfsdfss));
}
public static function dataForTestIssetReturnTrueForProperties(): Generator
{
yield ['age'];
yield ['century'];
yield ['day'];
yield ['dayName'];
yield ['dayOfWeek'];
yield ['dayOfWeekIso'];
yield ['dayOfYear'];
yield ['daysInMonth'];
yield ['daysInYear'];
yield ['decade'];
yield ['dst'];
yield ['englishDayOfWeek'];
yield ['englishMonth'];
yield ['firstWeekDay'];
yield ['hour'];
yield ['isoWeek'];
yield ['isoWeekYear'];
yield ['isoWeeksInYear'];
yield ['lastWeekDay'];
yield ['latinMeridiem'];
yield ['latinUpperMeridiem'];
yield ['local'];
yield ['locale'];
yield ['localeDayOfWeek'];
yield ['localeMonth'];
yield ['meridiem'];
yield ['micro'];
yield ['microsecond'];
yield ['millennium'];
yield ['milli'];
yield ['millisecond'];
yield ['milliseconds'];
yield ['minDayName'];
yield ['minute'];
yield ['month'];
yield ['monthName'];
yield ['noZeroHour'];
yield ['offset'];
yield ['offsetHours'];
yield ['offsetMinutes'];
yield ['quarter'];
yield ['second'];
yield ['shortDayName'];
yield ['shortEnglishDayOfWeek'];
yield ['shortEnglishMonth'];
yield ['shortLocaleDayOfWeek'];
yield ['shortLocaleMonth'];
yield ['shortMonthName'];
yield ['timestamp'];
yield ['timezone'];
yield ['timezoneAbbreviatedName'];
yield ['timezoneName'];
yield ['tz'];
yield ['tzAbbrName'];
yield ['tzName'];
yield ['upperMeridiem'];
yield ['utc'];
yield ['week'];
yield ['weekNumberInMonth'];
yield ['weekOfMonth'];
yield ['weekOfYear'];
yield ['weekYear'];
yield ['weeksInYear'];
yield ['year'];
yield ['yearIso'];
}
#[DataProvider('dataForTestIssetReturnTrueForProperties')]
public function testIssetReturnTrueForProperties(string $property): void
{
Carbon::useStrictMode(false);
$this->assertTrue(isset($this->immutableNow->{$property}));
}
}