Add Message\Header\Header

This commit is contained in:
PJ Dietz 2015-03-22 09:11:13 -04:00
parent 16ed00a841
commit ba26379fdc
2 changed files with 108 additions and 0 deletions

View File

@ -0,0 +1,50 @@
<?php
namespace WellRESTed\Message\Header;
/**
* Represents an HTTP Header
*/
class Header
{
private $name;
private $value;
public function __construct($name, $value)
{
$this->name = $name;
$this->value = $value;
}
/**
* @return string Header line as name: value
*/
public function __toString()
{
return $this->getHeaderLine();
}
/**
* @return string Original header name with case preserved
*/
public function getName()
{
return $this->name;
}
/**
* @return string Header value
*/
public function getValue()
{
return $this->value;
}
/**
* @return string Header line as name: value
*/
public function getHeaderLine()
{
return $this->name . ": " . $this->value;
}
}

View File

@ -0,0 +1,58 @@
<?php
namespace pjdietz\WellRESTed\Test\Message\Header;
use WellRESTed\Message\Header\Header;
class HeaderTest extends \PHPUnit_Framework_TestCase
{
/**
* @covers WellRESTed\Message\Header\Header::__construct
*/
public function testCreatesInstance()
{
$header = new Header("Content-Type", "application/json");
$this->assertNotNull($header);
}
/**
* @covers WellRESTed\Message\Header\Header::getName
* @uses WellRESTed\Message\Header\Header::__construct
*/
public function testReturnsName()
{
$header = new Header("Content-Type", "application/json");
$this->assertEquals("Content-Type", $header->getName());
}
/**
* @covers WellRESTed\Message\Header\Header::getValue
* @uses WellRESTed\Message\Header\Header::__construct
*/
public function testReturnsValue()
{
$header = new Header("Content-Type", "application/json");
$this->assertEquals("application/json", $header->getValue());
}
/**
* @covers WellRESTed\Message\Header\Header::getHeaderLine
* @uses WellRESTed\Message\Header\Header::__construct
*/
public function testReturnsHeaderLine()
{
$header = new Header("Content-Type", "application/json");
$this->assertEquals("Content-Type: application/json", $header->getHeaderLine());
}
/**
* @covers WellRESTed\Message\Header\Header::__toString
* @uses WellRESTed\Message\Header\Header::__construct
* @uses WellRESTed\Message\Header\Header::getHeaderLine
*/
public function testToStringReturnsHeaderLine()
{
$header = new Header("Content-Type", "application/json");
$this->assertEquals("Content-Type: application/json", (string) $header);
}
}