コード例 #1
0
 public function isPublished()
 {
     if (!$this->status->equals(PublishStatus::usable())) {
         return false;
     }
     if (!$this->published || $this->published < new DateTime('now')) {
         return false;
     }
     return true;
 }
コード例 #2
0
 public function testSerialize()
 {
     $draft = PublishStatus::draft();
     $usable = PublishStatus::usable();
     $canceled = PublishStatus::canceled();
     $this->assertEquals('"draft"', json_encode($draft));
     $this->assertEquals('"usable"', json_encode($usable));
     $this->assertEquals('"canceled"', json_encode($canceled));
 }
コード例 #3
0
 public function testPublishPageInPast()
 {
     $date = new \DateTime('now');
     $date->modify('-1 hour');
     $this->page->publish($date);
     $this->assertTrue(PublishStatus::usable()->equals($this->page->getStatus()));
     $this->assertInstanceOf('DateTime', $this->page->getCreated());
     $this->assertInstanceOf('DateTime', $this->page->getPublished());
     $this->assertEquals($date, $this->page->getPublished());
     $this->assertInstanceOf('DateTime', $this->page->getModified());
     $this->assertFalse($this->page->isPublished());
 }