nginxsonarrradarrplexorganizrdashboardapplication-dashboardmuximuxlandingpagestartpagelandinghtpcserverhomepagesabnzbdheimdallembycouchpotatonzbgetbookmark
		
		
		
		
			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.
		
		
		
		
		
			
		
			
				
					
					
						
							73 lines
						
					
					
						
							1.9 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							73 lines
						
					
					
						
							1.9 KiB
						
					
					
				
								<?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'));
							 | 
						|
								    }
							 | 
						|
								}
							 | 
						|
								
							 |