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 namespace Cake\Test\TestCase\View\Helper; use Cake\I18n\DateTime; use Cake\I18n\I1..

Decoded Output download

<?php
  namespace Cake\Test\TestCase\View\Helper; use Cake\I18n\DateTime; use Cake\I18n\I18n; use Cake\TestSuite\TestCase; use Cake\View\Helper\TimeHelper; use Cake\View\View; use DateTime as NativeDateTime; use DateTimeZone; use IntlDateFormatter; class TimeHelperTest extends TestCase { protected $Time; protected $View; public function setUp() : void { parent::setUp(); $this->View = new View(); $this->Time = new TimeHelper($this->View); } public function tearDown() : void { parent::tearDown(); DateTime::setDefaultLocale(null); I18n::setLocale(I18n::getDefaultLocale()); } public function testTimeAgoInWords() : void { $Time = new TimeHelper($this->View); $timestamp = strtotime("+8 years, +4 months +2 weeks +3 days"); $result = $Time->timeAgoInWords($timestamp, array("end" => "1 years", "element" => "span")); $expected = array("span" => array("title" => $timestamp, "class" => "time-ago-in-words"), "on " . date("n/j/y", $timestamp), "/span"); $this->assertHtml($expected, $result); $result = $Time->timeAgoInWords($timestamp, array("end" => "1 years", "element" => array("title" => "testing", "rel" => "test"))); $expected = array("span" => array("title" => "testing", "class" => "time-ago-in-words", "rel" => "test"), "on " . date("n/j/y", $timestamp), "/span"); $this->assertHtml($expected, $result); $timestamp = strtotime("+2 weeks"); $result = $Time->timeAgoInWords($timestamp, array("end" => "1 years", "element" => "div")); $expected = array("div" => array("title" => $timestamp, "class" => "time-ago-in-words"), "2 weeks", "/div"); $this->assertHtml($expected, $result); } public function testTimeAgoInWordsOutputTimezone() : void { $Time = new TimeHelper($this->View, array("outputTimezone" => "America/Vancouver")); $timestamp = new DateTime("+8 years, +4 months +2 weeks +3 days"); $result = $Time->timeAgoInWords($timestamp, array("end" => "1 years", "element" => "span")); $vancouver = clone $timestamp; $vancouver = $vancouver->setTimezone("America/Vancouver"); $expected = array("span" => array("title" => $vancouver->__toString(), "class" => "time-ago-in-words"), "on " . $vancouver->format("n/j/y"), "/span"); $this->assertHtml($expected, $result); } public function testToQuarter() : void { $this->assertSame(4, $this->Time->toQuarter("2007-12-25")); $this->assertEquals(array("2007-10-01", "2007-12-31"), $this->Time->toQuarter("2007-12-25", true)); } public function testNice() : void { $time = "2014-04-20 20:00"; $result = $this->Time->nice($time); $result = preg_replace("/[\pZ\pC]/u", " ", $result); $this->assertTimeFormat("Apr 20, 2014, 8:00 PM", $result); $result = $this->Time->nice($time, "America/New_York"); $result = preg_replace("/[\pZ\pC]/u", " ", $result); $this->assertTimeFormat("Apr 20, 2014, 4:00 PM", $result); } public function testNiceOutputTimezone() : void { $this->Time->setConfig("outputTimezone", "America/Vancouver"); $result = $this->Time->nice("2014-04-20 20:00"); $result = preg_replace("/[\pZ\pC]/u", " ", $result); $this->assertTimeFormat("Apr 20, 2014, 1:00 PM", $result); } public function testToUnix() : void { $this->assertSame("1397980800", $this->Time->toUnix("2014-04-20 08:00:00")); } public function testToAtom() : void { $dateTime = new NativeDateTime(); $this->assertSame($dateTime->format($dateTime::ATOM), $this->Time->toAtom($dateTime->getTimestamp())); } public function testToAtomOutputTimezone() : void { $this->Time->setConfig("outputTimezone", "America/Vancouver"); $dateTime = new DateTime(); $vancouver = clone $dateTime; $vancouver = $vancouver->setTimezone("America/Vancouver"); $this->assertSame($vancouver->format(DATE_ATOM), $this->Time->toAtom($vancouver)); } public function testToRss() : void { $date = "2012-08-12 12:12:45"; $time = strtotime($date); $this->assertSame(date("r", $time), $this->Time->toRss($time)); $timezones = array("Europe/London", "Europe/Brussels", "UTC", "America/Denver", "America/Caracas", "Asia/Kathmandu"); foreach ($timezones as $timezone) { $yourTimezone = new DateTimeZone($timezone); $yourTime = new NativeDateTime($date, $yourTimezone); $time = $yourTime->format("U"); $this->assertSame($yourTime->format("r"), $this->Time->toRss($time, $timezone), "Failed on {$timezone}"); } } public function testToRssOutputTimezone() : void { $this->Time->setConfig("outputTimezone", "America/Vancouver"); $dateTime = new DateTime(); $vancouver = clone $dateTime; $vancouver = $vancouver->setTimezone("America/Vancouver"); $this->assertSame($vancouver->format("r"), $this->Time->toRss($vancouver)); } public function testGmt() : void { $this->assertSame("1397980800", $this->Time->gmt("2014-04-20 08:00:00")); } public function testIsToday() : void { $result = $this->Time->isToday("+1 day"); $this->assertFalse($result); $result = $this->Time->isToday("+1 days"); $this->assertFalse($result); $result = $this->Time->isToday("+0 day"); $this->assertTrue($result); $result = $this->Time->isToday("-1 day"); $this->assertFalse($result); } public function testIsFuture() : void { $this->assertTrue($this->Time->isFuture("+1 month")); $this->assertTrue($this->Time->isFuture("+1 days")); $this->assertTrue($this->Time->isFuture("+1 minute")); $this->assertTrue($this->Time->isFuture("+1 second")); $this->assertFalse($this->Time->isFuture("-1 second")); $this->assertFalse($this->Time->isFuture("-1 day")); $this->assertFalse($this->Time->isFuture("-1 week")); $this->assertFalse($this->Time->isFuture("-1 month")); } public function testIsPast() : void { $this->assertFalse($this->Time->isPast("+1 month")); $this->assertFalse($this->Time->isPast("+1 days")); $this->assertFalse($this->Time->isPast("+1 minute")); $this->assertFalse($this->Time->isPast("+1 second")); $this->assertTrue($this->Time->isPast("-1 second")); $this->assertTrue($this->Time->isPast("-1 day")); $this->assertTrue($this->Time->isPast("-1 week")); $this->assertTrue($this->Time->isPast("-1 month")); } public function testIsThisWeek() : void { $map = array("Mon" => array(-1, 7), "Tue" => array(-2, 6), "Wed" => array(-3, 5), "Thu" => array(-4, 4), "Fri" => array(-5, 3), "Sat" => array(-6, 2), "Sun" => array(-7, 1)); $days = $map[date("D")]; for ($day = $days[0] + 1; $day < $days[1]; $day++) { $this->assertTrue($this->Time->isThisWeek(($day > 0 ? "+" : '') . $day . " days")); } $this->assertFalse($this->Time->isThisWeek($days[0] . " days")); $this->assertFalse($this->Time->isThisWeek("+" . $days[1] . " days")); } public function testIsThisMonth() : void { $result = $this->Time->isThisMonth("+0 day"); $this->assertTrue($result); $result = $this->Time->isThisMonth($time = mktime(0, 0, 0, (int) date("m"), mt_rand(1, 28), (int) date("Y"))); $this->assertTrue($result); $result = $this->Time->isThisMonth(mktime(0, 0, 0, (int) date("m"), mt_rand(1, 28), (int) date("Y") - mt_rand(1, 12))); $this->assertFalse($result); $result = $this->Time->isThisMonth(mktime(0, 0, 0, (int) date("m"), mt_rand(1, 28), (int) date("Y") + mt_rand(1, 12))); $this->assertFalse($result); } public function testIsThisYear() : void { $result = $this->Time->isThisYear("+0 day"); $this->assertTrue($result); $result = $this->Time->isThisYear(mktime(0, 0, 0, mt_rand(1, 12), mt_rand(1, 28), (int) date("Y"))); $this->assertTrue($result); } public function testWasYesterday() : void { $result = $this->Time->wasYesterday("+1 day"); $this->assertFalse($result); $result = $this->Time->wasYesterday("+1 days"); $this->assertFalse($result); $result = $this->Time->wasYesterday("+0 day"); $this->assertFalse($result); $result = $this->Time->wasYesterday("-1 day"); $this->assertTrue($result); $result = $this->Time->wasYesterday("-1 days"); $this->assertTrue($result); $result = $this->Time->wasYesterday("-2 days"); $this->assertFalse($result); } public function testIsTomorrow() : void { $result = $this->Time->isTomorrow("+1 day"); $this->assertTrue($result); $result = $this->Time->isTomorrow("+1 days"); $this->assertTrue($result); $result = $this->Time->isTomorrow("+0 day"); $this->assertFalse($result); $result = $this->Time->isTomorrow("-1 day"); $this->assertFalse($result); } public function testWasWithinLast() : void { $this->assertTrue($this->Time->wasWithinLast("1 day", "-1 day")); $this->assertTrue($this->Time->wasWithinLast("1 week", "-1 week")); $this->assertTrue($this->Time->wasWithinLast("1 year", "-1 year")); $this->assertTrue($this->Time->wasWithinLast("1 second", "-1 second")); $this->assertTrue($this->Time->wasWithinLast("1 minute", "-1 minute")); $this->assertTrue($this->Time->wasWithinLast("1 hour", "-1 hour")); $this->assertTrue($this->Time->wasWithinLast("1 year", "-1 year")); $this->assertTrue($this->Time->wasWithinLast("1 month", "-1 month")); $this->assertTrue($this->Time->wasWithinLast("1 day", "-1 day")); $this->assertTrue($this->Time->wasWithinLast("1 week", "-1 day")); $this->assertTrue($this->Time->wasWithinLast("2 week", "-1 week")); $this->assertFalse($this->Time->wasWithinLast("1 second", "-1 year")); $this->assertTrue($this->Time->wasWithinLast("10 minutes", "-1 second")); $this->assertTrue($this->Time->wasWithinLast("23 minutes", "-1 minute")); $this->assertFalse($this->Time->wasWithinLast("0 year", "-1 year")); $this->assertTrue($this->Time->wasWithinLast("13 month", "-1 month")); $this->assertTrue($this->Time->wasWithinLast("2 days", "-1 day")); $this->assertFalse($this->Time->wasWithinLast("1 week", "-2 weeks")); $this->assertFalse($this->Time->wasWithinLast("1 second", "-2 seconds")); $this->assertFalse($this->Time->wasWithinLast("1 day", "-2 days")); $this->assertFalse($this->Time->wasWithinLast("1 hour", "-2 hours")); $this->assertFalse($this->Time->wasWithinLast("1 month", "-2 months")); $this->assertFalse($this->Time->wasWithinLast("1 year", "-2 years")); $this->assertFalse($this->Time->wasWithinLast("1 day", "-2 weeks")); $this->assertFalse($this->Time->wasWithinLast("1 day", "-2 days")); $this->assertTrue($this->Time->wasWithinLast("1 day", "-23 hours -59 minutes -59 seconds")); $this->assertFalse($this->Time->wasWithinLast("0 days", "-2 days")); $this->assertTrue($this->Time->wasWithinLast("1 hour", "-20 seconds")); $this->assertTrue($this->Time->wasWithinLast("1 year", "-60 minutes -30 seconds")); $this->assertTrue($this->Time->wasWithinLast("3 years", "-2 months")); $this->assertTrue($this->Time->wasWithinLast("5 months", "-4 months")); } public function testIsWithinNext() : void { $this->assertFalse($this->Time->isWithinNext("1 day", "-1 day")); $this->assertFalse($this->Time->isWithinNext("1 week", "-1 week")); $this->assertFalse($this->Time->isWithinNext("1 year", "-1 year")); $this->assertFalse($this->Time->isWithinNext("1 second", "-1 second")); $this->assertFalse($this->Time->isWithinNext("1 minute", "-1 minute")); $this->assertFalse($this->Time->isWithinNext("1 year", "-1 year")); $this->assertFalse($this->Time->isWithinNext("1 month", "-1 month")); $this->assertFalse($this->Time->isWithinNext("1 day", "-1 day")); $this->assertFalse($this->Time->isWithinNext("1 week", "-1 day")); $this->assertFalse($this->Time->isWithinNext("2 week", "-1 week")); $this->assertFalse($this->Time->isWithinNext("1 second", "-1 year")); $this->assertFalse($this->Time->isWithinNext("10 minutes", "-1 second")); $this->assertFalse($this->Time->isWithinNext("23 minutes", "-1 minute")); $this->assertFalse($this->Time->isWithinNext("0 year", "-1 year")); $this->assertFalse($this->Time->isWithinNext("13 month", "-1 month")); $this->assertFalse($this->Time->isWithinNext("2 days", "-1 day")); $this->assertFalse($this->Time->isWithinNext("1 week", "-2 weeks")); $this->assertFalse($this->Time->isWithinNext("1 second", "-2 seconds")); $this->assertFalse($this->Time->isWithinNext("1 day", "-2 days")); $this->assertFalse($this->Time->isWithinNext("1 hour", "-2 hours")); $this->assertFalse($this->Time->isWithinNext("1 month", "-2 months")); $this->assertFalse($this->Time->isWithinNext("1 year", "-2 years")); $this->assertFalse($this->Time->isWithinNext("1 day", "-2 weeks")); $this->assertFalse($this->Time->isWithinNext("1 day", "-2 days")); $this->assertFalse($this->Time->isWithinNext("0 days", "-2 days")); $this->assertFalse($this->Time->isWithinNext("1 hour", "-20 seconds")); $this->assertFalse($this->Time->isWithinNext("1 year", "-60 minutes -30 seconds")); $this->assertFalse($this->Time->isWithinNext("3 years", "-2 months")); $this->assertFalse($this->Time->isWithinNext("5 months", "-4 months")); $this->assertTrue($this->Time->isWithinNext("1 day", "+1 day")); $this->assertTrue($this->Time->isWithinNext("7 day", "+1 week")); $this->assertTrue($this->Time->isWithinNext("1 minute", "+1 second")); $this->assertTrue($this->Time->isWithinNext("1 month", "+1 month")); } public function testFormat() : void { $time = strtotime("Thu Jan 14 13:59:28 2010"); $result = $this->Time->format($time); $result = preg_replace("/[\pZ\pC]/u", " ", $result); $this->assertTimeFormat("1/14/10, 1:59 PM", $result); $result = $this->Time->format($time, IntlDateFormatter::FULL); $result = preg_replace("/[\pZ\pC]/u", " ", $result); $this->assertStringStartsWith("Thursday, January 14, 2010 at 1:59:28 PM", $result); $result = $this->Time->format($time, array(IntlDateFormatter::SHORT, IntlDateFormatter::MEDIUM)); $result = preg_replace("/[\pZ\pC]/u", " ", $result); $this->assertSame("1/14/10, 1:59:28 PM", $result); $result = $this->Time->format("invalid date", null, "Date invalid"); $expected = "Date invalid"; $this->assertSame($expected, $result); I18n::setLocale("fr_FR"); DateTime::setDefaultLocale("fr_FR"); $time = new DateTime("Thu Jan 14 13:59:28 2010"); $result = $this->Time->format($time, IntlDateFormatter::FULL); $this->assertStringContainsString("jeudi 14 janvier 2010", $result); $this->assertStringContainsString("13:59:28", $result); } public function testFormatOutputTimezone() : void { $this->Time->setConfig("outputTimezone", "America/Vancouver"); $time = strtotime("Thu Jan 14 8:59:28 2010 UTC"); $result = $this->Time->format($time); $result = preg_replace("/[\pZ\pC]/u", " ", $result); $this->assertTimeFormat("1/14/10, 12:59 AM", $result); $time = new DateTime("Thu Jan 14 8:59:28 2010", "UTC"); $result = $this->Time->format($time); $result = preg_replace("/[\pZ\pC]/u", " ", $result); $this->assertTimeFormat("1/14/10, 12:59 AM", $result); } public function testI18nFormatOutputTimezone() : void { $this->Time->setConfig("outputTimezone", "America/Vancouver"); $time = strtotime("Thu Jan 14 8:59:28 2010 UTC"); $result = $this->Time->i18nFormat($time, array(IntlDateFormatter::SHORT, IntlDateFormatter::FULL)); $result = preg_replace("/[\pZ\pC]/u", " ", $result); $this->assertStringStartsWith("1/14/10, 12:59:28 AM", $result); } public function testFormatString() : void { $time = "2010-01-14 13:59:28"; $result = $this->Time->format($time); $result = preg_replace("/[\pZ\pC]/u", " ", $result); $this->assertTimeFormat("1/14/10 1:59 PM", $result); $result = $this->Time->format($time, "HH:mm", false, "America/New_York"); $this->assertTimeFormat("08:59", $result); } public function testFormatTimeInstance() : void { $time = new DateTime("2010-01-14 13:59:28", "America/New_York"); $result = $this->Time->format($time, "HH:mm", false, "America/New_York"); $this->assertTimeFormat("13:59", $result); $time = new DateTime("2010-01-14 13:59:28", "UTC"); $result = $this->Time->format($time, "HH:mm", false, "America/New_York"); $this->assertTimeFormat("08:59", $result); } public function assertTimeFormat($expected, $result) : void { $this->assertSame(str_replace(array(",", "(", ")", " at", " "), '', $expected), str_replace(array(",", "(", ")", " at", " "), '', $result)); } public function testNullDateFormat() : void { $result = $this->Time->format(null); $this->assertFalse($result); $fallback = "Date invalid or not set"; $result = $this->Time->format(null, IntlDateFormatter::FULL, $fallback); $this->assertSame($fallback, $result); } } ?>

Did this file decode correctly?

Original Code

<?php
  namespace Cake\Test\TestCase\View\Helper; use Cake\I18n\DateTime; use Cake\I18n\I18n; use Cake\TestSuite\TestCase; use Cake\View\Helper\TimeHelper; use Cake\View\View; use DateTime as NativeDateTime; use DateTimeZone; use IntlDateFormatter; class TimeHelperTest extends TestCase { protected $Time; protected $View; public function setUp() : void { parent::setUp(); $this->View = new View(); $this->Time = new TimeHelper($this->View); } public function tearDown() : void { parent::tearDown(); DateTime::setDefaultLocale(null); I18n::setLocale(I18n::getDefaultLocale()); } public function testTimeAgoInWords() : void { $Time = new TimeHelper($this->View); $timestamp = strtotime("\x2b\x38\40\x79\145\x61\x72\163\54\x20\53\64\x20\x6d\x6f\x6e\164\x68\x73\x20\x2b\x32\x20\x77\145\145\x6b\x73\40\53\63\x20\x64\141\171\163"); $result = $Time->timeAgoInWords($timestamp, array("\145\156\144" => "\x31\40\171\145\x61\x72\163", "\x65\154\x65\155\x65\x6e\x74" => "\x73\160\x61\156")); $expected = array("\163\x70\141\156" => array("\164\x69\164\154\145" => $timestamp, "\143\154\141\163\163" => "\x74\x69\x6d\145\x2d\x61\147\x6f\x2d\151\x6e\55\x77\157\x72\x64\163"), "\157\156\x20" . date("\x6e\57\x6a\x2f\x79", $timestamp), "\57\163\x70\141\x6e"); $this->assertHtml($expected, $result); $result = $Time->timeAgoInWords($timestamp, array("\145\156\144" => "\x31\x20\171\x65\141\x72\x73", "\x65\x6c\145\155\145\156\164" => array("\164\151\164\154\x65" => "\164\145\163\x74\151\x6e\x67", "\162\x65\154" => "\x74\145\163\164"))); $expected = array("\163\160\x61\156" => array("\164\151\x74\154\x65" => "\164\145\163\164\151\x6e\x67", "\x63\x6c\x61\163\163" => "\164\x69\155\145\x2d\x61\x67\157\x2d\151\156\x2d\x77\x6f\162\x64\163", "\162\x65\x6c" => "\164\145\163\164"), "\x6f\156\40" . date("\156\x2f\152\x2f\x79", $timestamp), "\57\163\x70\141\156"); $this->assertHtml($expected, $result); $timestamp = strtotime("\53\62\x20\x77\145\x65\x6b\163"); $result = $Time->timeAgoInWords($timestamp, array("\145\x6e\x64" => "\61\x20\x79\145\x61\x72\163", "\145\x6c\145\155\145\156\164" => "\x64\x69\x76")); $expected = array("\144\x69\166" => array("\x74\151\x74\x6c\x65" => $timestamp, "\143\154\141\x73\x73" => "\164\151\155\145\55\x61\x67\157\55\151\x6e\x2d\167\157\162\x64\x73"), "\x32\x20\167\145\145\x6b\163", "\x2f\144\x69\166"); $this->assertHtml($expected, $result); } public function testTimeAgoInWordsOutputTimezone() : void { $Time = new TimeHelper($this->View, array("\157\165\164\x70\165\164\124\x69\x6d\x65\x7a\x6f\156\x65" => "\101\x6d\145\162\151\143\141\57\x56\141\x6e\x63\x6f\165\166\x65\162")); $timestamp = new DateTime("\x2b\x38\40\171\x65\x61\x72\x73\54\40\x2b\x34\x20\x6d\x6f\x6e\x74\x68\163\x20\x2b\x32\x20\167\x65\x65\x6b\163\40\53\63\40\144\x61\x79\x73"); $result = $Time->timeAgoInWords($timestamp, array("\x65\x6e\x64" => "\x31\x20\x79\145\141\162\x73", "\145\x6c\145\155\x65\156\164" => "\x73\x70\x61\x6e")); $vancouver = clone $timestamp; $vancouver = $vancouver->setTimezone("\x41\155\145\x72\x69\x63\141\57\x56\x61\156\143\157\165\166\x65\162"); $expected = array("\x73\x70\141\156" => array("\x74\151\164\x6c\145" => $vancouver->__toString(), "\x63\154\x61\163\x73" => "\x74\151\155\x65\x2d\x61\x67\157\55\x69\156\55\167\x6f\162\x64\x73"), "\x6f\156\x20" . $vancouver->format("\x6e\x2f\152\x2f\x79"), "\x2f\163\x70\141\156"); $this->assertHtml($expected, $result); } public function testToQuarter() : void { $this->assertSame(4, $this->Time->toQuarter("\62\x30\60\67\x2d\61\x32\x2d\62\x35")); $this->assertEquals(array("\62\60\60\x37\55\61\x30\x2d\x30\61", "\62\60\60\x37\55\x31\x32\x2d\x33\61"), $this->Time->toQuarter("\62\60\60\x37\x2d\x31\62\55\x32\65", true)); } public function testNice() : void { $time = "\62\60\x31\64\55\60\64\x2d\x32\x30\40\x32\x30\x3a\x30\x30"; $result = $this->Time->nice($time); $result = preg_replace("\x2f\x5b\134\x70\x5a\x5c\160\103\135\x2f\165", "\x20", $result); $this->assertTimeFormat("\101\x70\162\x20\x32\60\x2c\40\62\x30\x31\64\54\x20\70\x3a\x30\x30\x20\x50\x4d", $result); $result = $this->Time->nice($time, "\101\x6d\x65\x72\151\x63\x61\x2f\x4e\x65\x77\x5f\131\x6f\x72\x6b"); $result = preg_replace("\x2f\x5b\134\160\132\134\x70\x43\135\57\165", "\40", $result); $this->assertTimeFormat("\x41\x70\162\x20\x32\60\x2c\40\62\x30\x31\x34\54\x20\x34\72\60\x30\x20\120\x4d", $result); } public function testNiceOutputTimezone() : void { $this->Time->setConfig("\157\165\164\x70\165\x74\x54\x69\x6d\145\x7a\157\x6e\145", "\x41\x6d\x65\162\x69\x63\x61\x2f\x56\x61\x6e\x63\x6f\x75\166\x65\162"); $result = $this->Time->nice("\x32\x30\61\x34\55\x30\x34\55\62\x30\x20\62\x30\x3a\60\60"); $result = preg_replace("\57\133\x5c\x70\132\134\x70\103\x5d\x2f\x75", "\40", $result); $this->assertTimeFormat("\x41\160\162\40\x32\x30\x2c\x20\x32\x30\61\64\x2c\x20\61\x3a\x30\x30\40\120\115", $result); } public function testToUnix() : void { $this->assertSame("\61\x33\x39\x37\x39\70\60\x38\60\x30", $this->Time->toUnix("\x32\60\61\x34\55\x30\64\55\x32\60\x20\60\x38\72\60\x30\72\60\x30")); } public function testToAtom() : void { $dateTime = new NativeDateTime(); $this->assertSame($dateTime->format($dateTime::ATOM), $this->Time->toAtom($dateTime->getTimestamp())); } public function testToAtomOutputTimezone() : void { $this->Time->setConfig("\x6f\x75\164\x70\165\x74\124\151\155\x65\172\157\156\145", "\x41\155\145\162\x69\143\x61\x2f\126\x61\x6e\x63\157\165\166\x65\x72"); $dateTime = new DateTime(); $vancouver = clone $dateTime; $vancouver = $vancouver->setTimezone("\x41\155\145\162\x69\x63\141\57\x56\141\156\143\157\165\x76\145\162"); $this->assertSame($vancouver->format(DATE_ATOM), $this->Time->toAtom($vancouver)); } public function testToRss() : void { $date = "\x32\x30\61\x32\55\60\70\x2d\x31\62\x20\x31\x32\72\x31\x32\72\64\65"; $time = strtotime($date); $this->assertSame(date("\162", $time), $this->Time->toRss($time)); $timezones = array("\x45\x75\162\x6f\x70\145\57\114\157\x6e\x64\x6f\x6e", "\105\x75\162\157\160\145\57\x42\x72\x75\x73\163\x65\x6c\163", "\x55\x54\x43", "\x41\155\145\162\151\x63\x61\57\x44\145\x6e\x76\x65\x72", "\x41\x6d\x65\x72\151\143\x61\x2f\103\141\x72\141\x63\x61\x73", "\x41\x73\151\141\57\113\x61\x74\150\155\x61\x6e\144\165"); foreach ($timezones as $timezone) { $yourTimezone = new DateTimeZone($timezone); $yourTime = new NativeDateTime($date, $yourTimezone); $time = $yourTime->format("\x55"); $this->assertSame($yourTime->format("\x72"), $this->Time->toRss($time, $timezone), "\106\x61\151\154\x65\x64\40\157\x6e\x20{$timezone}"); } } public function testToRssOutputTimezone() : void { $this->Time->setConfig("\157\165\x74\160\165\164\124\151\x6d\145\x7a\157\x6e\145", "\x41\155\145\x72\x69\143\141\x2f\126\141\x6e\143\x6f\165\x76\x65\x72"); $dateTime = new DateTime(); $vancouver = clone $dateTime; $vancouver = $vancouver->setTimezone("\x41\x6d\x65\x72\x69\143\141\57\126\x61\x6e\143\x6f\x75\166\x65\162"); $this->assertSame($vancouver->format("\162"), $this->Time->toRss($vancouver)); } public function testGmt() : void { $this->assertSame("\x31\63\x39\67\x39\x38\x30\x38\x30\x30", $this->Time->gmt("\x32\x30\61\x34\x2d\60\x34\55\x32\60\x20\x30\70\x3a\x30\60\72\60\x30")); } public function testIsToday() : void { $result = $this->Time->isToday("\x2b\x31\40\x64\141\x79"); $this->assertFalse($result); $result = $this->Time->isToday("\x2b\x31\40\144\x61\171\x73"); $this->assertFalse($result); $result = $this->Time->isToday("\x2b\x30\x20\x64\x61\x79"); $this->assertTrue($result); $result = $this->Time->isToday("\x2d\61\x20\144\141\171"); $this->assertFalse($result); } public function testIsFuture() : void { $this->assertTrue($this->Time->isFuture("\x2b\x31\40\155\157\156\164\150")); $this->assertTrue($this->Time->isFuture("\53\61\x20\x64\141\171\x73")); $this->assertTrue($this->Time->isFuture("\53\61\40\155\x69\156\165\x74\x65")); $this->assertTrue($this->Time->isFuture("\53\x31\x20\x73\145\x63\x6f\x6e\144")); $this->assertFalse($this->Time->isFuture("\55\x31\40\x73\145\143\x6f\x6e\144")); $this->assertFalse($this->Time->isFuture("\x2d\61\40\x64\x61\171")); $this->assertFalse($this->Time->isFuture("\55\x31\x20\x77\145\145\153")); $this->assertFalse($this->Time->isFuture("\x2d\x31\40\155\x6f\156\x74\x68")); } public function testIsPast() : void { $this->assertFalse($this->Time->isPast("\53\x31\x20\155\157\x6e\164\x68")); $this->assertFalse($this->Time->isPast("\53\x31\40\x64\x61\x79\x73")); $this->assertFalse($this->Time->isPast("\x2b\61\x20\155\151\156\x75\164\145")); $this->assertFalse($this->Time->isPast("\53\x31\40\x73\x65\143\x6f\156\144")); $this->assertTrue($this->Time->isPast("\x2d\61\40\x73\x65\143\157\156\144")); $this->assertTrue($this->Time->isPast("\55\x31\40\144\x61\x79")); $this->assertTrue($this->Time->isPast("\x2d\61\40\x77\145\x65\x6b")); $this->assertTrue($this->Time->isPast("\x2d\61\x20\x6d\x6f\x6e\x74\x68")); } public function testIsThisWeek() : void { $map = array("\115\x6f\x6e" => array(-1, 7), "\x54\x75\145" => array(-2, 6), "\127\145\144" => array(-3, 5), "\x54\150\x75" => array(-4, 4), "\x46\162\151" => array(-5, 3), "\123\141\164" => array(-6, 2), "\123\x75\156" => array(-7, 1)); $days = $map[date("\104")]; for ($day = $days[0] + 1; $day < $days[1]; $day++) { $this->assertTrue($this->Time->isThisWeek(($day > 0 ? "\53" : '') . $day . "\x20\144\141\171\163")); } $this->assertFalse($this->Time->isThisWeek($days[0] . "\40\144\x61\x79\x73")); $this->assertFalse($this->Time->isThisWeek("\x2b" . $days[1] . "\40\x64\x61\171\163")); } public function testIsThisMonth() : void { $result = $this->Time->isThisMonth("\x2b\x30\x20\x64\x61\171"); $this->assertTrue($result); $result = $this->Time->isThisMonth($time = mktime(0, 0, 0, (int) date("\155"), mt_rand(1, 28), (int) date("\131"))); $this->assertTrue($result); $result = $this->Time->isThisMonth(mktime(0, 0, 0, (int) date("\155"), mt_rand(1, 28), (int) date("\x59") - mt_rand(1, 12))); $this->assertFalse($result); $result = $this->Time->isThisMonth(mktime(0, 0, 0, (int) date("\x6d"), mt_rand(1, 28), (int) date("\x59") + mt_rand(1, 12))); $this->assertFalse($result); } public function testIsThisYear() : void { $result = $this->Time->isThisYear("\53\x30\x20\144\x61\171"); $this->assertTrue($result); $result = $this->Time->isThisYear(mktime(0, 0, 0, mt_rand(1, 12), mt_rand(1, 28), (int) date("\x59"))); $this->assertTrue($result); } public function testWasYesterday() : void { $result = $this->Time->wasYesterday("\x2b\x31\x20\x64\141\x79"); $this->assertFalse($result); $result = $this->Time->wasYesterday("\x2b\x31\x20\144\x61\171\x73"); $this->assertFalse($result); $result = $this->Time->wasYesterday("\x2b\60\x20\144\141\x79"); $this->assertFalse($result); $result = $this->Time->wasYesterday("\55\x31\x20\144\141\171"); $this->assertTrue($result); $result = $this->Time->wasYesterday("\x2d\x31\40\144\141\x79\163"); $this->assertTrue($result); $result = $this->Time->wasYesterday("\55\62\40\x64\141\x79\163"); $this->assertFalse($result); } public function testIsTomorrow() : void { $result = $this->Time->isTomorrow("\x2b\61\x20\x64\x61\171"); $this->assertTrue($result); $result = $this->Time->isTomorrow("\x2b\61\40\144\x61\x79\x73"); $this->assertTrue($result); $result = $this->Time->isTomorrow("\53\60\40\144\141\171"); $this->assertFalse($result); $result = $this->Time->isTomorrow("\x2d\61\x20\144\141\171"); $this->assertFalse($result); } public function testWasWithinLast() : void { $this->assertTrue($this->Time->wasWithinLast("\x31\40\144\141\x79", "\55\x31\x20\x64\x61\171")); $this->assertTrue($this->Time->wasWithinLast("\61\x20\167\x65\x65\x6b", "\55\x31\x20\167\145\145\x6b")); $this->assertTrue($this->Time->wasWithinLast("\61\40\x79\145\x61\162", "\x2d\61\x20\171\145\x61\162")); $this->assertTrue($this->Time->wasWithinLast("\x31\40\163\145\143\157\156\x64", "\55\x31\x20\x73\145\143\157\x6e\144")); $this->assertTrue($this->Time->wasWithinLast("\61\40\155\151\156\165\164\145", "\x2d\x31\x20\x6d\x69\156\x75\x74\x65")); $this->assertTrue($this->Time->wasWithinLast("\x31\x20\x68\157\x75\162", "\x2d\x31\x20\150\157\165\x72")); $this->assertTrue($this->Time->wasWithinLast("\61\40\171\x65\x61\162", "\55\61\40\171\145\141\162")); $this->assertTrue($this->Time->wasWithinLast("\61\40\155\157\156\x74\x68", "\55\x31\40\x6d\157\156\164\150")); $this->assertTrue($this->Time->wasWithinLast("\61\x20\144\x61\171", "\55\x31\40\144\141\171")); $this->assertTrue($this->Time->wasWithinLast("\61\x20\x77\145\145\153", "\55\61\x20\144\141\171")); $this->assertTrue($this->Time->wasWithinLast("\x32\x20\x77\145\x65\x6b", "\55\61\x20\x77\x65\x65\x6b")); $this->assertFalse($this->Time->wasWithinLast("\61\x20\163\145\x63\x6f\156\x64", "\x2d\61\40\171\x65\x61\162")); $this->assertTrue($this->Time->wasWithinLast("\x31\x30\40\x6d\151\x6e\165\164\145\163", "\x2d\x31\x20\x73\x65\143\157\156\x64")); $this->assertTrue($this->Time->wasWithinLast("\62\x33\40\x6d\151\x6e\x75\x74\145\x73", "\55\x31\40\x6d\151\156\x75\x74\x65")); $this->assertFalse($this->Time->wasWithinLast("\60\x20\171\x65\141\x72", "\55\x31\40\171\145\x61\162")); $this->assertTrue($this->Time->wasWithinLast("\61\x33\x20\155\x6f\156\x74\x68", "\x2d\x31\x20\x6d\x6f\156\x74\x68")); $this->assertTrue($this->Time->wasWithinLast("\x32\x20\x64\x61\171\x73", "\x2d\x31\40\x64\x61\x79")); $this->assertFalse($this->Time->wasWithinLast("\61\x20\167\145\145\153", "\55\62\x20\167\145\145\x6b\x73")); $this->assertFalse($this->Time->wasWithinLast("\x31\40\x73\x65\x63\x6f\x6e\x64", "\55\62\x20\x73\x65\x63\157\x6e\x64\x73")); $this->assertFalse($this->Time->wasWithinLast("\61\x20\144\141\x79", "\x2d\x32\40\144\141\x79\163")); $this->assertFalse($this->Time->wasWithinLast("\61\x20\x68\157\x75\162", "\55\62\x20\150\157\165\x72\163")); $this->assertFalse($this->Time->wasWithinLast("\61\40\x6d\x6f\156\164\x68", "\55\62\x20\x6d\157\x6e\x74\x68\163")); $this->assertFalse($this->Time->wasWithinLast("\x31\x20\x79\x65\141\x72", "\x2d\62\x20\171\145\x61\x72\163")); $this->assertFalse($this->Time->wasWithinLast("\61\x20\x64\x61\171", "\x2d\62\40\167\x65\x65\x6b\x73")); $this->assertFalse($this->Time->wasWithinLast("\61\x20\144\x61\x79", "\55\x32\40\144\141\171\163")); $this->assertTrue($this->Time->wasWithinLast("\61\x20\144\x61\x79", "\55\x32\63\40\150\x6f\165\x72\163\40\x2d\x35\71\x20\x6d\x69\156\x75\x74\x65\x73\40\55\x35\71\40\x73\x65\143\x6f\156\x64\x73")); $this->assertFalse($this->Time->wasWithinLast("\60\x20\144\x61\171\163", "\55\x32\x20\144\141\x79\163")); $this->assertTrue($this->Time->wasWithinLast("\61\40\150\157\x75\162", "\55\62\x30\40\163\145\143\x6f\156\x64\163")); $this->assertTrue($this->Time->wasWithinLast("\x31\40\171\x65\141\x72", "\55\x36\x30\x20\x6d\x69\156\165\x74\x65\x73\40\x2d\63\60\40\163\145\x63\157\x6e\144\x73")); $this->assertTrue($this->Time->wasWithinLast("\63\40\171\x65\141\162\163", "\55\62\x20\155\157\156\x74\x68\x73")); $this->assertTrue($this->Time->wasWithinLast("\x35\40\x6d\157\156\164\x68\163", "\55\x34\x20\x6d\157\156\x74\x68\x73")); } public function testIsWithinNext() : void { $this->assertFalse($this->Time->isWithinNext("\x31\x20\x64\x61\171", "\55\x31\x20\x64\141\x79")); $this->assertFalse($this->Time->isWithinNext("\x31\x20\167\x65\145\153", "\55\x31\40\x77\x65\x65\x6b")); $this->assertFalse($this->Time->isWithinNext("\61\40\171\x65\x61\162", "\x2d\x31\x20\x79\145\x61\x72")); $this->assertFalse($this->Time->isWithinNext("\x31\40\163\x65\x63\x6f\156\x64", "\55\61\x20\x73\x65\143\x6f\156\x64")); $this->assertFalse($this->Time->isWithinNext("\x31\40\155\x69\156\165\x74\145", "\55\x31\40\155\151\x6e\x75\x74\145")); $this->assertFalse($this->Time->isWithinNext("\x31\40\x79\145\x61\162", "\x2d\61\40\x79\145\x61\162")); $this->assertFalse($this->Time->isWithinNext("\x31\40\155\x6f\x6e\x74\x68", "\x2d\x31\40\155\x6f\x6e\164\150")); $this->assertFalse($this->Time->isWithinNext("\61\x20\144\x61\x79", "\x2d\61\x20\144\x61\x79")); $this->assertFalse($this->Time->isWithinNext("\61\40\x77\145\x65\153", "\55\x31\x20\144\x61\x79")); $this->assertFalse($this->Time->isWithinNext("\x32\x20\x77\x65\145\153", "\x2d\61\x20\x77\145\145\153")); $this->assertFalse($this->Time->isWithinNext("\x31\x20\x73\145\x63\x6f\x6e\144", "\x2d\x31\40\x79\x65\141\x72")); $this->assertFalse($this->Time->isWithinNext("\x31\x30\40\x6d\151\x6e\x75\x74\x65\x73", "\55\61\40\163\145\x63\x6f\156\144")); $this->assertFalse($this->Time->isWithinNext("\x32\x33\x20\155\x69\x6e\165\x74\145\163", "\55\x31\40\x6d\151\156\165\x74\145")); $this->assertFalse($this->Time->isWithinNext("\60\x20\171\x65\x61\x72", "\x2d\61\40\171\x65\141\x72")); $this->assertFalse($this->Time->isWithinNext("\61\63\x20\x6d\x6f\156\164\150", "\x2d\61\x20\x6d\157\156\164\150")); $this->assertFalse($this->Time->isWithinNext("\x32\x20\144\141\x79\163", "\x2d\61\40\144\x61\171")); $this->assertFalse($this->Time->isWithinNext("\x31\40\167\145\x65\153", "\x2d\x32\x20\167\145\145\153\163")); $this->assertFalse($this->Time->isWithinNext("\x31\x20\163\x65\143\157\x6e\x64", "\55\x32\40\x73\145\x63\x6f\x6e\144\163")); $this->assertFalse($this->Time->isWithinNext("\x31\40\x64\141\x79", "\55\62\40\x64\141\x79\163")); $this->assertFalse($this->Time->isWithinNext("\x31\40\150\157\165\x72", "\55\x32\x20\x68\x6f\x75\162\163")); $this->assertFalse($this->Time->isWithinNext("\61\x20\x6d\x6f\156\x74\x68", "\55\x32\x20\x6d\x6f\x6e\x74\x68\x73")); $this->assertFalse($this->Time->isWithinNext("\61\x20\x79\x65\x61\x72", "\55\x32\40\171\145\141\x72\163")); $this->assertFalse($this->Time->isWithinNext("\x31\40\x64\x61\x79", "\55\x32\x20\167\x65\x65\153\x73")); $this->assertFalse($this->Time->isWithinNext("\61\40\144\x61\171", "\x2d\x32\40\144\x61\171\163")); $this->assertFalse($this->Time->isWithinNext("\60\40\144\141\x79\163", "\55\x32\x20\144\x61\x79\x73")); $this->assertFalse($this->Time->isWithinNext("\x31\40\x68\157\165\162", "\x2d\62\60\40\x73\145\x63\x6f\x6e\x64\x73")); $this->assertFalse($this->Time->isWithinNext("\61\x20\171\145\x61\x72", "\55\x36\x30\x20\155\151\x6e\165\x74\145\x73\x20\55\x33\x30\40\163\145\x63\157\156\x64\163")); $this->assertFalse($this->Time->isWithinNext("\63\x20\171\x65\141\x72\163", "\55\x32\40\x6d\157\x6e\x74\150\x73")); $this->assertFalse($this->Time->isWithinNext("\65\x20\155\x6f\x6e\x74\150\x73", "\55\x34\40\155\x6f\x6e\x74\150\163")); $this->assertTrue($this->Time->isWithinNext("\x31\x20\144\x61\x79", "\53\61\40\x64\141\171")); $this->assertTrue($this->Time->isWithinNext("\67\40\144\141\171", "\53\x31\x20\167\145\145\153")); $this->assertTrue($this->Time->isWithinNext("\x31\x20\x6d\151\156\165\164\x65", "\53\x31\x20\163\x65\x63\x6f\x6e\144")); $this->assertTrue($this->Time->isWithinNext("\61\40\155\157\156\x74\x68", "\x2b\61\40\155\157\x6e\164\x68")); } public function testFormat() : void { $time = strtotime("\x54\x68\x75\x20\112\141\156\40\x31\x34\40\61\63\72\x35\x39\x3a\x32\70\40\x32\x30\x31\x30"); $result = $this->Time->format($time); $result = preg_replace("\x2f\x5b\x5c\160\x5a\134\160\103\135\57\165", "\x20", $result); $this->assertTimeFormat("\x31\57\x31\x34\x2f\x31\x30\x2c\x20\61\x3a\65\x39\40\x50\x4d", $result); $result = $this->Time->format($time, IntlDateFormatter::FULL); $result = preg_replace("\x2f\x5b\x5c\160\x5a\134\160\103\135\57\165", "\x20", $result); $this->assertStringStartsWith("\x54\150\x75\162\163\144\x61\171\54\x20\112\141\156\x75\141\x72\x79\40\61\x34\x2c\40\62\x30\x31\x30\x20\141\x74\x20\61\72\x35\71\x3a\x32\x38\40\120\x4d", $result); $result = $this->Time->format($time, array(IntlDateFormatter::SHORT, IntlDateFormatter::MEDIUM)); $result = preg_replace("\57\133\134\160\132\x5c\160\x43\x5d\57\165", "\x20", $result); $this->assertSame("\61\57\x31\64\x2f\x31\x30\54\x20\x31\72\65\x39\x3a\62\70\40\120\x4d", $result); $result = $this->Time->format("\x69\x6e\x76\x61\154\x69\144\x20\144\141\x74\145", null, "\104\141\x74\x65\x20\151\x6e\166\x61\x6c\151\144"); $expected = "\x44\141\x74\145\40\151\x6e\x76\141\154\x69\144"; $this->assertSame($expected, $result); I18n::setLocale("\x66\162\137\106\x52"); DateTime::setDefaultLocale("\x66\162\137\106\x52"); $time = new DateTime("\x54\x68\x75\40\112\x61\156\40\x31\64\40\61\63\72\x35\x39\x3a\62\x38\40\x32\x30\61\x30"); $result = $this->Time->format($time, IntlDateFormatter::FULL); $this->assertStringContainsString("\152\x65\165\144\151\x20\x31\x34\x20\152\141\x6e\166\x69\145\162\x20\x32\x30\x31\60", $result); $this->assertStringContainsString("\61\x33\72\65\x39\72\62\70", $result); } public function testFormatOutputTimezone() : void { $this->Time->setConfig("\x6f\165\x74\x70\x75\164\124\x69\x6d\145\172\x6f\156\x65", "\101\155\x65\x72\x69\x63\141\57\126\x61\156\x63\157\165\166\x65\x72"); $time = strtotime("\x54\x68\165\40\x4a\x61\x6e\x20\61\x34\40\x38\x3a\x35\71\x3a\x32\x38\40\62\x30\x31\60\40\x55\x54\103"); $result = $this->Time->format($time); $result = preg_replace("\x2f\x5b\134\x70\x5a\x5c\x70\103\x5d\x2f\165", "\40", $result); $this->assertTimeFormat("\x31\x2f\61\64\x2f\x31\60\x2c\40\61\x32\72\x35\x39\40\101\115", $result); $time = new DateTime("\x54\x68\165\40\112\x61\x6e\x20\61\64\40\x38\x3a\x35\71\72\x32\x38\40\62\60\x31\x30", "\x55\x54\x43"); $result = $this->Time->format($time); $result = preg_replace("\57\133\x5c\x70\x5a\134\160\103\x5d\x2f\x75", "\x20", $result); $this->assertTimeFormat("\x31\x2f\61\x34\x2f\x31\60\54\x20\61\62\x3a\65\71\40\x41\x4d", $result); } public function testI18nFormatOutputTimezone() : void { $this->Time->setConfig("\x6f\x75\164\160\x75\164\124\x69\155\x65\172\157\x6e\145", "\x41\155\145\162\x69\x63\141\57\126\141\x6e\143\x6f\165\x76\145\x72"); $time = strtotime("\124\150\165\40\x4a\141\x6e\40\x31\64\40\70\x3a\x35\x39\x3a\x32\70\x20\x32\60\61\60\40\125\x54\x43"); $result = $this->Time->i18nFormat($time, array(IntlDateFormatter::SHORT, IntlDateFormatter::FULL)); $result = preg_replace("\x2f\133\x5c\x70\x5a\x5c\x70\x43\x5d\57\x75", "\40", $result); $this->assertStringStartsWith("\61\57\61\x34\57\x31\60\54\40\61\62\x3a\65\x39\x3a\x32\70\40\x41\x4d", $result); } public function testFormatString() : void { $time = "\x32\x30\61\x30\55\x30\61\55\61\x34\x20\61\63\x3a\x35\x39\72\x32\x38"; $result = $this->Time->format($time); $result = preg_replace("\x2f\x5b\134\x70\x5a\134\160\x43\135\57\165", "\x20", $result); $this->assertTimeFormat("\x31\x2f\x31\64\57\61\x30\x20\x31\x3a\x35\x39\40\120\115", $result); $result = $this->Time->format($time, "\x48\110\72\x6d\x6d", false, "\x41\x6d\145\x72\x69\x63\x61\x2f\116\x65\167\x5f\x59\x6f\162\153"); $this->assertTimeFormat("\60\70\72\x35\x39", $result); } public function testFormatTimeInstance() : void { $time = new DateTime("\62\60\x31\x30\x2d\x30\61\55\x31\64\40\x31\x33\72\65\71\x3a\x32\x38", "\101\x6d\145\162\x69\x63\141\57\x4e\x65\167\137\x59\157\162\153"); $result = $this->Time->format($time, "\x48\x48\72\155\x6d", false, "\x41\155\145\162\151\143\x61\x2f\x4e\x65\x77\137\x59\x6f\162\x6b"); $this->assertTimeFormat("\x31\x33\72\x35\x39", $result); $time = new DateTime("\62\60\x31\x30\x2d\x30\x31\x2d\x31\x34\40\x31\x33\72\65\71\72\x32\x38", "\125\x54\x43"); $result = $this->Time->format($time, "\110\x48\72\x6d\155", false, "\101\x6d\145\x72\x69\143\141\x2f\x4e\145\x77\137\x59\x6f\162\153"); $this->assertTimeFormat("\60\70\x3a\x35\x39", $result); } public function assertTimeFormat($expected, $result) : void { $this->assertSame(str_replace(array("\54", "\x28", "\51", "\40\x61\164", "\x20\xc3\xa0"), '', $expected), str_replace(array("\54", "\50", "\x29", "\40\x61\x74", "\40\303\240"), '', $result)); } public function testNullDateFormat() : void { $result = $this->Time->format(null); $this->assertFalse($result); $fallback = "\104\x61\x74\145\40\x69\156\166\141\x6c\151\x64\x20\x6f\162\x20\156\x6f\x74\x20\x73\145\164"; $result = $this->Time->format(null, IntlDateFormatter::FULL, $fallback); $this->assertSame($fallback, $result); } }

Function Calls

None

Variables

None

Stats

MD5 077f626ec2af93ebc848bf4e9f6bd04b
Eval Count 0
Decode Time 105 ms