1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- <?php
- namespace Cron\Tests;
- use Cron\MinutesField;
- use DateTime;
- use DateTimeImmutable;
- use PHPUnit\Framework\TestCase;
- /**
- * @author Michael Dowling <mtdowling@gmail.com>
- */
- class MinutesFieldTest extends TestCase
- {
- /**
- * @covers \Cron\MinutesField::validate
- */
- public function testValidatesField()
- {
- $f = new MinutesField();
- $this->assertTrue($f->validate('1'));
- $this->assertTrue($f->validate('*'));
- $this->assertFalse($f->validate('*/3,1,1-12'));
- }
- /**
- * @covers \Cron\MinutesField::isSatisfiedBy
- */
- public function testChecksIfSatisfied()
- {
- $f = new MinutesField();
- $this->assertTrue($f->isSatisfiedBy(new DateTime(), '?'));
- $this->assertTrue($f->isSatisfiedBy(new DateTimeImmutable(), '?'));
- }
- /**
- * @covers \Cron\MinutesField::increment
- */
- public function testIncrementsDate()
- {
- $d = new DateTime('2011-03-15 11:15:00');
- $f = new MinutesField();
- $f->increment($d);
- $this->assertSame('2011-03-15 11:16:00', $d->format('Y-m-d H:i:s'));
- $f->increment($d, true);
- $this->assertSame('2011-03-15 11:15:00', $d->format('Y-m-d H:i:s'));
- }
- /**
- * @covers \Cron\MinutesField::increment
- */
- public function testIncrementsDateTimeImmutable()
- {
- $d = new DateTimeImmutable('2011-03-15 11:15:00');
- $f = new MinutesField();
- $f->increment($d);
- $this->assertSame('2011-03-15 11:16:00', $d->format('Y-m-d H:i:s'));
- }
- /**
- * Various bad syntaxes that are reported to work, but shouldn't.
- *
- * @author Chris Tankersley
- * @since 2017-08-18
- */
- public function testBadSyntaxesShouldNotValidate()
- {
- $f = new MinutesField();
- $this->assertFalse($f->validate('*-1'));
- $this->assertFalse($f->validate('1-2-3'));
- $this->assertFalse($f->validate('-1'));
- }
- }
|