Esempio n. 1
0
 public function testInstance()
 {
     $rule = new RedirectRule([1, Redirect::TYPE_EXACT, Redirect::TARGET_TYPE_PATH_URL, '/from/url', '/to/url', null, null, 301, null, Carbon::today(), Carbon::tomorrow()]);
     self::assertEquals(1, $rule->getId());
     self::assertEquals(Redirect::TYPE_EXACT, $rule->getMatchType());
     self::assertEquals(Redirect::TARGET_TYPE_PATH_URL, $rule->getTargetType());
     self::assertEquals('/from/url', $rule->getFromUrl());
     self::assertEquals('/to/url', $rule->getToUrl());
     self::assertEquals(301, $rule->getStatusCode());
     self::assertEquals(Carbon::today(), $rule->getFromDate());
     self::assertEquals(Carbon::tomorrow(), $rule->getToDate());
 }
Esempio n. 2
0
 /**
  * Check if rule matches a period
  *
  * @param RedirectRule $rule
  * @return bool
  */
 private function matchesPeriod(RedirectRule $rule)
 {
     if ($rule->getFromDate() instanceof Carbon && $rule->getToDate() instanceof Carbon) {
         return $this->matchDate->between($rule->getFromDate(), $rule->getToDate());
     }
     if ($rule->getFromDate() instanceof Carbon && $rule->getToDate() === null) {
         return $this->matchDate->gte($rule->getFromDate());
     }
     if ($rule->getFromDate() === null && $rule->getToDate() instanceof Carbon) {
         return $this->matchDate->lte($rule->getToDate());
     }
     return true;
 }