Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php declare(strict_types=1); /** * This file is part of the Carbon package. * * (c)..
Decoded Output download
<?php
declare(strict_types=1);
/**
* This file is part of the Carbon package.
*
* (c) Brian Nesbitt <[email protected]>
*
* 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 Carbon\CarbonInterval;
use DateTimeImmutable;
use Tests\AbstractTestCase;
class SubTest extends AbstractTestCase
{
public function testSubMethod()
{
$this->assertSame(1973, Carbon::createFromDate(1975)->sub(2, 'year')->year);
$this->assertSame(1973, Carbon::createFromDate(1975)->sub('year', 2)->year);
$this->assertSame(1973, Carbon::createFromDate(1975)->sub('2 years')->year);
$lastNegated = null;
$date = Carbon::createFromDate(1975)->sub(
function (DateTimeImmutable $date, bool $negated = false) use (&$lastNegated): DateTimeImmutable {
$lastNegated = $negated;
return new DateTimeImmutable($date->format('Y-m-d H:i:s').' - 2 years');
},
);
$this->assertInstanceOf(Carbon::class, $date);
$this->assertSame(1973, $date->year);
$this->assertTrue($lastNegated);
$this->assertSame(1973, Carbon::createFromDate(1975)->subtract(2, 'year')->year);
$this->assertSame(1973, Carbon::createFromDate(1975)->subtract('year', 2)->year);
$this->assertSame(1973, Carbon::createFromDate(1975)->subtract('2 years')->year);
$lastNegated = null;
$this->assertSame(1973, Carbon::createFromDate(1975)->subtract(
function (DateTimeImmutable $date, bool $negated = false) use (&$lastNegated): DateTimeImmutable {
$lastNegated = $negated;
return new DateTimeImmutable($date->format('Y-m-d H:i:s').' - 2 years');
},
)->year);
$this->assertTrue($lastNegated);
/** @var CarbonInterval $interval */
$interval = include __DIR__.'/../Fixtures/dynamicInterval.php';
$originalDate = Carbon::parse('2020-06-08');
$date = $originalDate->sub($interval);
$this->assertInstanceOf(Carbon::class, $date);
$this->assertSame('2020-05-31', $date->format('Y-m-d'));
$this->assertNotSame($originalDate, $date);
$date = Carbon::parse('2020-07-16')->subtract($interval);
$this->assertInstanceOf(Carbon::class, $date);
$this->assertSame('2020-06-30', $date->format('Y-m-d'));
}
public function testSubYearsPositive()
{
$this->assertSame(1974, Carbon::createFromDate(1975)->subYears(1)->year);
}
public function testSubYearsZero()
{
$this->assertSame(1975, Carbon::createFromDate(1975)->subYears(0)->year);
}
public function testSubYearsNegative()
{
$this->assertSame(1976, Carbon::createFromDate(1975)->subYears(-1)->year);
}
public function testSubYear()
{
$this->assertSame(1974, Carbon::createFromDate(1975)->subYear()->year);
$this->assertSame(1973, Carbon::createFromDate(1975)->sub(2, 'year')->year);
$this->assertSame(1973, Carbon::createFromDate(1975)->sub(2, 'years')->year);
$this->assertSame(1973, Carbon::createFromDate(1975)->sub(CarbonInterval::years(2))->year);
}
public function testSubMonthsPositive()
{
$this->assertSame(12, Carbon::createFromDate(1975, 1, 1)->subMonths(1)->month);
}
public function testSubMonthsZero()
{
$this->assertSame(1, Carbon::createFromDate(1975, 1, 1)->subMonths(0)->month);
}
public function testSubMonthsNegative()
{
$this->assertSame(2, Carbon::createFromDate(1975, 1, 1)->subMonths(-1)->month);
}
public function testSubMonth()
{
$this->assertSame(12, Carbon::createFromDate(1975, 1, 1)->subMonth()->month);
}
public function testSubDaysPositive()
{
$this->assertSame(30, Carbon::createFromDate(1975, 5, 1)->subDays(1)->day);
}
public function testSubDaysZero()
{
$this->assertSame(1, Carbon::createFromDate(1975, 5, 1)->subDays(0)->day);
}
public function testSubDaysNegative()
{
$this->assertSame(2, Carbon::createFromDate(1975, 5, 1)->subDays(-1)->day);
}
public function testSubDay()
{
$this->assertSame(30, Carbon::createFromDate(1975, 5, 1)->subDay()->day);
}
public function testSubWeekdaysPositive()
{
$this->assertSame(22, Carbon::createFromDate(2012, 1, 4)->subWeekdays(9)->day);
}
public function testSubWeekdaysZero()
{
$this->assertSame(4, Carbon::createFromDate(2012, 1, 4)->subWeekdays(0)->day);
}
public function testSubWeekdaysNegative()
{
$this->assertSame(13, Carbon::createFromDate(2012, 1, 31)->subWeekdays(-9)->day);
}
public function testSubWeekday()
{
$this->assertSame(6, Carbon::createFromDate(2012, 1, 9)->subWeekday()->day);
}
public function testSubWeekdayDuringWeekend()
{
$this->assertSame(6, Carbon::createFromDate(2012, 1, 8)->subWeekday()->day);
}
public function testSubWeeksPositive()
{
$this->assertSame(14, Carbon::createFromDate(1975, 5, 21)->subWeeks(1)->day);
}
public function testSubWeeksZero()
{
$this->assertSame(21, Carbon::createFromDate(1975, 5, 21)->subWeeks(0)->day);
}
public function testSubWeeksNegative()
{
$this->assertSame(28, Carbon::createFromDate(1975, 5, 21)->subWeeks(-1)->day);
}
public function testSubWeek()
{
$this->assertSame(14, Carbon::createFromDate(1975, 5, 21)->subWeek()->day);
}
public function testSubHoursPositive()
{
$this->assertSame(23, Carbon::createFromTime(0)->subHours(1)->hour);
}
public function testSubHoursZero()
{
$this->assertSame(0, Carbon::createFromTime(0)->subHours(0)->hour);
}
public function testSubHoursNegative()
{
$this->assertSame(1, Carbon::createFromTime(0)->subHours(-1)->hour);
}
public function testSubHour()
{
$this->assertSame(23, Carbon::createFromTime(0)->subHour()->hour);
}
public function testSubMinutesPositive()
{
$this->assertSame(59, Carbon::createFromTime(0, 0)->subMinutes(1)->minute);
}
public function testSubMinutesZero()
{
$this->assertSame(0, Carbon::createFromTime(0, 0)->subMinutes(0)->minute);
}
public function testSubMinutesNegative()
{
$this->assertSame(1, Carbon::createFromTime(0, 0)->subMinutes(-1)->minute);
}
public function testSubMinute()
{
$this->assertSame(59, Carbon::createFromTime(0, 0)->subMinute()->minute);
}
public function testSubSecondsPositive()
{
$this->assertSame(59, Carbon::createFromTime(0, 0, 0)->subSeconds(1)->second);
}
public function testSubSecondsZero()
{
$this->assertSame(0, Carbon::createFromTime(0, 0, 0)->subSeconds(0)->second);
}
public function testSubSecondsNegative()
{
$this->assertSame(1, Carbon::createFromTime(0, 0, 0)->subSeconds(-1)->second);
}
public function testSubSecond()
{
$this->assertSame(59, Carbon::createFromTime(0, 0, 0)->subSecond()->second);
}
public function testSubMillisecondsPositive()
{
$this->assertSame(999, Carbon::createFromTime(0, 0, 0)->subMilliseconds(1)->millisecond);
}
public function testSubMillisecondsZero()
{
$this->assertSame(100, Carbon::createFromTime(0, 0, 0.1)->subMilliseconds(0)->millisecond);
}
public function testSubMillisecondsNegative()
{
$this->assertSame(1, Carbon::createFromTime(0, 0, 0)->subMilliseconds(-1)->millisecond);
$this->assertSame(101, Carbon::createFromTime(0, 0, 0.1)->subMilliseconds(-1)->millisecond);
}
public function testSubMillisecond()
{
$this->assertSame(99, Carbon::createFromTime(0, 0, 0.1)->subMillisecond()->millisecond);
}
public function testSubMicrosecondsPositive()
{
$this->assertSame(999999, Carbon::createFromTime(0, 0, 0)->subMicroseconds(1)->microsecond);
}
public function testSubMicrosecondsZero()
{
$this->assertSame(100000, Carbon::createFromTime(0, 0, 0.1)->subMicroseconds(0)->microsecond);
}
public function testSubMicrosecondsNegative()
{
$this->assertSame(1, Carbon::createFromTime(0, 0, 0)->subMicroseconds(-1)->microsecond);
$this->assertSame(100001, Carbon::createFromTime(0, 0, 0.1)->subMicroseconds(-1)->microsecond);
}
public function testSubMicrosecond()
{
$this->assertSame(99999, Carbon::createFromTime(0, 0, 0.1)->subMicrosecond()->microsecond);
}
/**
* Test non plural methods with non default args.
*/
public function testSubYearPassingArg()
{
/** @var mixed $date */
$date = Carbon::createFromDate(1975);
$this->assertSame(1973, $date->subYear(2)->year);
}
public function testSubMonthPassingArg()
{
/** @var mixed $date */
$date = Carbon::createFromDate(1975, 5, 1);
$this->assertSame(3, $date->subMonth(2)->month);
}
public function testSubMonthNoOverflowPassingArg()
{
/** @var mixed $date */
$date = Carbon::createFromDate(2011, 4, 30);
$date = $date->subMonthNoOverflow(2);
$this->assertSame(2, $date->month);
$this->assertSame(28, $date->day);
}
public function testSubDayPassingArg()
{
/** @var mixed $date */
$date = Carbon::createFromDate(1975, 5, 10);
$this->assertSame(8, $date->subDay(2)->day);
}
public function testSubHourPassingArg()
{
/** @var mixed $date */
$date = Carbon::createFromTime(0);
$this->assertSame(22, $date->subHour(2)->hour);
}
public function testSubMinutePassingArg()
{
/** @var mixed $date */
$date = Carbon::createFromTime(0);
$this->assertSame(58, $date->subMinute(2)->minute);
}
public function testSubSecondPassingArg()
{
/** @var mixed $date */
$date = Carbon::createFromTime(0);
$this->assertSame(58, $date->subSecond(2)->second);
}
}
?>
Did this file decode correctly?
Original Code
<?php
declare(strict_types=1);
/**
* This file is part of the Carbon package.
*
* (c) Brian Nesbitt <[email protected]>
*
* 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 Carbon\CarbonInterval;
use DateTimeImmutable;
use Tests\AbstractTestCase;
class SubTest extends AbstractTestCase
{
public function testSubMethod()
{
$this->assertSame(1973, Carbon::createFromDate(1975)->sub(2, 'year')->year);
$this->assertSame(1973, Carbon::createFromDate(1975)->sub('year', 2)->year);
$this->assertSame(1973, Carbon::createFromDate(1975)->sub('2 years')->year);
$lastNegated = null;
$date = Carbon::createFromDate(1975)->sub(
function (DateTimeImmutable $date, bool $negated = false) use (&$lastNegated): DateTimeImmutable {
$lastNegated = $negated;
return new DateTimeImmutable($date->format('Y-m-d H:i:s').' - 2 years');
},
);
$this->assertInstanceOf(Carbon::class, $date);
$this->assertSame(1973, $date->year);
$this->assertTrue($lastNegated);
$this->assertSame(1973, Carbon::createFromDate(1975)->subtract(2, 'year')->year);
$this->assertSame(1973, Carbon::createFromDate(1975)->subtract('year', 2)->year);
$this->assertSame(1973, Carbon::createFromDate(1975)->subtract('2 years')->year);
$lastNegated = null;
$this->assertSame(1973, Carbon::createFromDate(1975)->subtract(
function (DateTimeImmutable $date, bool $negated = false) use (&$lastNegated): DateTimeImmutable {
$lastNegated = $negated;
return new DateTimeImmutable($date->format('Y-m-d H:i:s').' - 2 years');
},
)->year);
$this->assertTrue($lastNegated);
/** @var CarbonInterval $interval */
$interval = include __DIR__.'/../Fixtures/dynamicInterval.php';
$originalDate = Carbon::parse('2020-06-08');
$date = $originalDate->sub($interval);
$this->assertInstanceOf(Carbon::class, $date);
$this->assertSame('2020-05-31', $date->format('Y-m-d'));
$this->assertNotSame($originalDate, $date);
$date = Carbon::parse('2020-07-16')->subtract($interval);
$this->assertInstanceOf(Carbon::class, $date);
$this->assertSame('2020-06-30', $date->format('Y-m-d'));
}
public function testSubYearsPositive()
{
$this->assertSame(1974, Carbon::createFromDate(1975)->subYears(1)->year);
}
public function testSubYearsZero()
{
$this->assertSame(1975, Carbon::createFromDate(1975)->subYears(0)->year);
}
public function testSubYearsNegative()
{
$this->assertSame(1976, Carbon::createFromDate(1975)->subYears(-1)->year);
}
public function testSubYear()
{
$this->assertSame(1974, Carbon::createFromDate(1975)->subYear()->year);
$this->assertSame(1973, Carbon::createFromDate(1975)->sub(2, 'year')->year);
$this->assertSame(1973, Carbon::createFromDate(1975)->sub(2, 'years')->year);
$this->assertSame(1973, Carbon::createFromDate(1975)->sub(CarbonInterval::years(2))->year);
}
public function testSubMonthsPositive()
{
$this->assertSame(12, Carbon::createFromDate(1975, 1, 1)->subMonths(1)->month);
}
public function testSubMonthsZero()
{
$this->assertSame(1, Carbon::createFromDate(1975, 1, 1)->subMonths(0)->month);
}
public function testSubMonthsNegative()
{
$this->assertSame(2, Carbon::createFromDate(1975, 1, 1)->subMonths(-1)->month);
}
public function testSubMonth()
{
$this->assertSame(12, Carbon::createFromDate(1975, 1, 1)->subMonth()->month);
}
public function testSubDaysPositive()
{
$this->assertSame(30, Carbon::createFromDate(1975, 5, 1)->subDays(1)->day);
}
public function testSubDaysZero()
{
$this->assertSame(1, Carbon::createFromDate(1975, 5, 1)->subDays(0)->day);
}
public function testSubDaysNegative()
{
$this->assertSame(2, Carbon::createFromDate(1975, 5, 1)->subDays(-1)->day);
}
public function testSubDay()
{
$this->assertSame(30, Carbon::createFromDate(1975, 5, 1)->subDay()->day);
}
public function testSubWeekdaysPositive()
{
$this->assertSame(22, Carbon::createFromDate(2012, 1, 4)->subWeekdays(9)->day);
}
public function testSubWeekdaysZero()
{
$this->assertSame(4, Carbon::createFromDate(2012, 1, 4)->subWeekdays(0)->day);
}
public function testSubWeekdaysNegative()
{
$this->assertSame(13, Carbon::createFromDate(2012, 1, 31)->subWeekdays(-9)->day);
}
public function testSubWeekday()
{
$this->assertSame(6, Carbon::createFromDate(2012, 1, 9)->subWeekday()->day);
}
public function testSubWeekdayDuringWeekend()
{
$this->assertSame(6, Carbon::createFromDate(2012, 1, 8)->subWeekday()->day);
}
public function testSubWeeksPositive()
{
$this->assertSame(14, Carbon::createFromDate(1975, 5, 21)->subWeeks(1)->day);
}
public function testSubWeeksZero()
{
$this->assertSame(21, Carbon::createFromDate(1975, 5, 21)->subWeeks(0)->day);
}
public function testSubWeeksNegative()
{
$this->assertSame(28, Carbon::createFromDate(1975, 5, 21)->subWeeks(-1)->day);
}
public function testSubWeek()
{
$this->assertSame(14, Carbon::createFromDate(1975, 5, 21)->subWeek()->day);
}
public function testSubHoursPositive()
{
$this->assertSame(23, Carbon::createFromTime(0)->subHours(1)->hour);
}
public function testSubHoursZero()
{
$this->assertSame(0, Carbon::createFromTime(0)->subHours(0)->hour);
}
public function testSubHoursNegative()
{
$this->assertSame(1, Carbon::createFromTime(0)->subHours(-1)->hour);
}
public function testSubHour()
{
$this->assertSame(23, Carbon::createFromTime(0)->subHour()->hour);
}
public function testSubMinutesPositive()
{
$this->assertSame(59, Carbon::createFromTime(0, 0)->subMinutes(1)->minute);
}
public function testSubMinutesZero()
{
$this->assertSame(0, Carbon::createFromTime(0, 0)->subMinutes(0)->minute);
}
public function testSubMinutesNegative()
{
$this->assertSame(1, Carbon::createFromTime(0, 0)->subMinutes(-1)->minute);
}
public function testSubMinute()
{
$this->assertSame(59, Carbon::createFromTime(0, 0)->subMinute()->minute);
}
public function testSubSecondsPositive()
{
$this->assertSame(59, Carbon::createFromTime(0, 0, 0)->subSeconds(1)->second);
}
public function testSubSecondsZero()
{
$this->assertSame(0, Carbon::createFromTime(0, 0, 0)->subSeconds(0)->second);
}
public function testSubSecondsNegative()
{
$this->assertSame(1, Carbon::createFromTime(0, 0, 0)->subSeconds(-1)->second);
}
public function testSubSecond()
{
$this->assertSame(59, Carbon::createFromTime(0, 0, 0)->subSecond()->second);
}
public function testSubMillisecondsPositive()
{
$this->assertSame(999, Carbon::createFromTime(0, 0, 0)->subMilliseconds(1)->millisecond);
}
public function testSubMillisecondsZero()
{
$this->assertSame(100, Carbon::createFromTime(0, 0, 0.1)->subMilliseconds(0)->millisecond);
}
public function testSubMillisecondsNegative()
{
$this->assertSame(1, Carbon::createFromTime(0, 0, 0)->subMilliseconds(-1)->millisecond);
$this->assertSame(101, Carbon::createFromTime(0, 0, 0.1)->subMilliseconds(-1)->millisecond);
}
public function testSubMillisecond()
{
$this->assertSame(99, Carbon::createFromTime(0, 0, 0.1)->subMillisecond()->millisecond);
}
public function testSubMicrosecondsPositive()
{
$this->assertSame(999999, Carbon::createFromTime(0, 0, 0)->subMicroseconds(1)->microsecond);
}
public function testSubMicrosecondsZero()
{
$this->assertSame(100000, Carbon::createFromTime(0, 0, 0.1)->subMicroseconds(0)->microsecond);
}
public function testSubMicrosecondsNegative()
{
$this->assertSame(1, Carbon::createFromTime(0, 0, 0)->subMicroseconds(-1)->microsecond);
$this->assertSame(100001, Carbon::createFromTime(0, 0, 0.1)->subMicroseconds(-1)->microsecond);
}
public function testSubMicrosecond()
{
$this->assertSame(99999, Carbon::createFromTime(0, 0, 0.1)->subMicrosecond()->microsecond);
}
/**
* Test non plural methods with non default args.
*/
public function testSubYearPassingArg()
{
/** @var mixed $date */
$date = Carbon::createFromDate(1975);
$this->assertSame(1973, $date->subYear(2)->year);
}
public function testSubMonthPassingArg()
{
/** @var mixed $date */
$date = Carbon::createFromDate(1975, 5, 1);
$this->assertSame(3, $date->subMonth(2)->month);
}
public function testSubMonthNoOverflowPassingArg()
{
/** @var mixed $date */
$date = Carbon::createFromDate(2011, 4, 30);
$date = $date->subMonthNoOverflow(2);
$this->assertSame(2, $date->month);
$this->assertSame(28, $date->day);
}
public function testSubDayPassingArg()
{
/** @var mixed $date */
$date = Carbon::createFromDate(1975, 5, 10);
$this->assertSame(8, $date->subDay(2)->day);
}
public function testSubHourPassingArg()
{
/** @var mixed $date */
$date = Carbon::createFromTime(0);
$this->assertSame(22, $date->subHour(2)->hour);
}
public function testSubMinutePassingArg()
{
/** @var mixed $date */
$date = Carbon::createFromTime(0);
$this->assertSame(58, $date->subMinute(2)->minute);
}
public function testSubSecondPassingArg()
{
/** @var mixed $date */
$date = Carbon::createFromTime(0);
$this->assertSame(58, $date->subSecond(2)->second);
}
}
Function Calls
None |
Stats
MD5 | 04f58bc4b0a9b72e6b549a0d52a5b10e |
Eval Count | 0 |
Decode Time | 122 ms |