From 871b5b5b994853e974bc94fbc6efa33e0af3c8ed Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Tue, 22 Aug 2017 16:37:23 +0200 Subject: [PATCH] More test fixes --- Message/HeaderAbstract.php | 4 +- Message/Http/Header.php | 12 +-- Message/Http/RequestStatusCode.php | 139 +++++++++++++++++++++++++++++ Message/Http/Response.php | 8 ++ Message/ResponseAbstract.php | 6 +- Stdlib/Base/SmartDateTime.php | 18 +--- 6 files changed, 162 insertions(+), 25 deletions(-) create mode 100644 Message/Http/RequestStatusCode.php diff --git a/Message/HeaderAbstract.php b/Message/HeaderAbstract.php index be901e96a..bb9899d75 100644 --- a/Message/HeaderAbstract.php +++ b/Message/HeaderAbstract.php @@ -48,11 +48,11 @@ abstract class HeaderAbstract /** * Generate header based on status code. * - * @param string $statusCode Status code + * @param int $statusCode Status code * * @since 1.0.0 */ - abstract public function generate(string $statusCode) /* : void */; + abstract public function generate(int $statusCode) /* : void */; /** * Get header by key. diff --git a/Message/Http/Header.php b/Message/Http/Header.php index 9992e3c0c..2c00bb831 100644 --- a/Message/Http/Header.php +++ b/Message/Http/Header.php @@ -246,22 +246,22 @@ class Header extends HeaderAbstract /** * {@inheritdoc} */ - public function generate(string $code) /* : void */ + public function generate(int $code) /* : void */ { switch ($code) { - case RequestStatus::R_403: + case RequestStatusCode::R_403: $this->generate403(); break; - case RequestStatus::R_404: + case RequestStatusCode::R_404: $this->generate404(); break; - case RequestStatus::R_406: + case RequestStatusCode::R_406: $this->generate406(); break; - case RequestStatus::R_407: + case RequestStatusCode::R_407: $this->generate407(); break; - case RequestStatus::R_503: + case RequestStatusCode::R_503: $this->generate503(); break; default: diff --git a/Message/Http/RequestStatusCode.php b/Message/Http/RequestStatusCode.php new file mode 100644 index 000000000..ea849833b --- /dev/null +++ b/Message/Http/RequestStatusCode.php @@ -0,0 +1,139 @@ +status = $status; $this->header->generate($status); diff --git a/Stdlib/Base/SmartDateTime.php b/Stdlib/Base/SmartDateTime.php index c10250abf..f6127e520 100644 --- a/Stdlib/Base/SmartDateTime.php +++ b/Stdlib/Base/SmartDateTime.php @@ -63,9 +63,9 @@ class SmartDateTime extends \DateTime * * @since 1.0.0 */ - public static function createFromDateTime(\Datetime $date) : SmarteDateTime + public static function createFromDateTime(\Datetime $date) : SmartDateTime { - return new self('Y-m-d H:i:s', $date->getTimezone()); + return new self($date->format('Y-m-d H:i:s'), $date->getTimezone()); } /** @@ -161,6 +161,7 @@ class SmartDateTime extends \DateTime */ public function getDaysOfMonth() : int { + // todo: maybe ->format('t') is better return cal_days_in_month(CAL_GREGORIAN, (int) $this->format('m'), (int) $this->format('Y')); } @@ -250,18 +251,7 @@ class SmartDateTime extends \DateTime */ public function getFirstDayOfWeek() : int { - $w = 1; - $y = ((int) $this->formay('Y') - 1) % 400 + 1; - $ly = ($y - 1) / 4; - $ly = $ly - ($y - 1) / 100; - $ly = $ly + ($y - 1) / 400; - $ry = $y - 1 - $ly; - $w = $w + $ry; - $w = $w + 2 * $ly; - $w = $w + date("z", mktime(0, 0, 0, (int) $this->formay('m'), (int) $this->formay('d'), $y)) + 1; - $w = ($w - 1) % 7 + 1; - - return $w; + return self::getDayOfWeek((int) $this->format('Y'), (int) $this->format('m'), (int) $this->format('d')); } /**