public function applyRule(PhabricatorUser $viewer, $value)
 {
     $moon = new PhutilLunarPhase(PhabricatorTime::getNow());
     switch ($value) {
         case 'full':
             return $moon->isFull();
         case 'new':
             return $moon->isNew();
         case 'waxing':
             return $moon->isWaxing();
         case 'waning':
             return $moon->isWaning();
     }
     return false;
 }
Exemplo n.º 2
0
 public function testLunarPhases()
 {
     // Aug 11, 1999
     $moon = new PhutilLunarPhase(934354800);
     $this->assertFalse($moon->isFull());
     $this->assertTrue($moon->isNew());
     $this->assertTrue($moon->isWaxing());
     $this->assertFalse($moon->isWaning());
     // May 22, 2005
     $moon = new PhutilLunarPhase(1116745200);
     $this->assertTrue($moon->isFull());
     $this->assertFalse($moon->isNew());
     $this->assertTrue($moon->isWaxing());
     $this->assertFalse($moon->isWaning());
     // May 23, 2005
     $moon = new PhutilLunarPhase(1116831600);
     $this->assertTrue($moon->isFull());
     $this->assertFalse($moon->isNew());
     $this->assertFalse($moon->isWaxing());
     $this->assertTrue($moon->isWaning());
     // May 30, 2005
     $moon = new PhutilLunarPhase(1117436400);
     $this->assertFalse($moon->isFull());
     $this->assertFalse($moon->isNew());
     $this->assertFalse($moon->isWaxing());
     $this->assertTrue($moon->isWaning());
     // June 05, 2005
     $moon = new PhutilLunarPhase(1117954800);
     $this->assertFalse($moon->isFull());
     $this->assertFalse($moon->isNew());
     $this->assertFalse($moon->isWaxing());
     $this->assertTrue($moon->isWaning());
     // June 06, 2005
     $moon = new PhutilLunarPhase(1118041200);
     $this->assertFalse($moon->isFull());
     $this->assertTrue($moon->isNew());
     $this->assertFalse($moon->isWaxing());
     $this->assertTrue($moon->isWaning());
     // Oct 4, 2013
     $moon = new PhutilLunarPhase(1380897327);
     $this->assertFalse($moon->isFull());
     $this->assertTrue($moon->isNew());
     $this->assertTrue($moon->isWaxing());
     $this->assertFalse($moon->isWaning());
 }