More test fixes

This commit is contained in:
Dennis Eichhorn 2017-08-22 16:37:23 +02:00
parent 9dedf9303e
commit 871b5b5b99
6 changed files with 162 additions and 25 deletions

View File

@ -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.

View File

@ -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:

View File

@ -0,0 +1,139 @@
<?php
/**
* Orange Management
*
* PHP Version 7.1
*
* @category TBD
* @package TBD
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
declare(strict_types=1);
namespace phpOMS\Message\Http;
use phpOMS\Stdlib\Base\Enum;
/**
* Request status enum.
*
* @category Request
* @package Framework
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
abstract class RequestStatusCode extends Enum
{
/* public */ const R_100 = 100;
/* public */ const R_101 = 101;
/* public */ const R_102 = 102;
/* public */ const R_200 = 200;
/* public */ const R_201 = 201;
/* public */ const R_202 = 202;
/* public */ const R_203 = 203;
/* public */ const R_204 = 204;
/* public */ const R_205 = 205;
/* public */ const R_206 = 206;
/* public */ const R_207 = 207;
/* public */ const R_300 = 300;
/* public */ const R_301 = 301;
/* public */ const R_302 = 302;
/* public */ const R_303 = 303;
/* public */ const R_304 = 304;
/* public */ const R_305 = 305;
/* public */ const R_306 = 306;
/* public */ const R_307 = 307;
/* public */ const R_400 = 400;
/* public */ const R_401 = 401;
/* public */ const R_402 = 402;
/* public */ const R_403 = 403;
/* public */ const R_404 = 404;
/* public */ const R_405 = 405;
/* public */ const R_406 = 406;
/* public */ const R_407 = 407;
/* public */ const R_408 = 408;
/* public */ const R_409 = 409;
/* public */ const R_410 = 410;
/* public */ const R_411 = 411;
/* public */ const R_412 = 412;
/* public */ const R_413 = 413;
/* public */ const R_414 = 414;
/* public */ const R_415 = 415;
/* public */ const R_416 = 416;
/* public */ const R_417 = 417;
/* public */ const R_418 = 418;
/* public */ const R_422 = 422;
/* public */ const R_423 = 423;
/* public */ const R_424 = 424;
/* public */ const R_425 = 425;
/* public */ const R_426 = 426;
/* public */ const R_449 = 449;
/* public */ const R_450 = 450;
/* public */ const R_500 = 500;
/* public */ const R_501 = 501;
/* public */ const R_502 = 502;
/* public */ const R_503 = 503;
/* public */ const R_504 = 504;
/* public */ const R_505 = 505;
/* public */ const R_506 = 506;
/* public */ const R_507 = 507;
/* public */ const R_509 = 509;
/* public */ const R_510 = 510;
}

View File

@ -32,6 +32,14 @@ use phpOMS\Views\View;
*/
class Response extends ResponseAbstract implements RenderableInterface
{
/**
* Response status.
*
* @var int
* @since 1.0.0
*/
protected $status = RequestStatusCode::R_200;
/**
* Constructor.
*

View File

@ -49,10 +49,10 @@ abstract class ResponseAbstract implements MessageInterface, \JsonSerializable
/**
* Response status.
*
* @var string
* @var int
* @since 1.0.0
*/
protected $status = 200;
protected $status = 0;
/**
* Account.
@ -112,7 +112,7 @@ abstract class ResponseAbstract implements MessageInterface, \JsonSerializable
* {@inheritdoc}
* todo: shouldn't this only be available in the header?!
*/
public function setStatusCode(string $status) /* : void */
public function setStatusCode(int $status) /* : void */
{
$this->status = $status;
$this->header->generate($status);

View File

@ -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'));
}
/**