From ba26379fdcf407c377554c4b7e38063e856df27c Mon Sep 17 00:00:00 2001 From: PJ Dietz Date: Sun, 22 Mar 2015 09:11:13 -0400 Subject: [PATCH] Add Message\Header\Header --- src/Message/Header/Header.php | 50 ++++++++++++++++ test/tests/unit/Message/Header/HeaderTest.php | 58 +++++++++++++++++++ 2 files changed, 108 insertions(+) create mode 100644 src/Message/Header/Header.php create mode 100644 test/tests/unit/Message/Header/HeaderTest.php diff --git a/src/Message/Header/Header.php b/src/Message/Header/Header.php new file mode 100644 index 0000000..5604e1b --- /dev/null +++ b/src/Message/Header/Header.php @@ -0,0 +1,50 @@ +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; + } +} diff --git a/test/tests/unit/Message/Header/HeaderTest.php b/test/tests/unit/Message/Header/HeaderTest.php new file mode 100644 index 0000000..238f9fa --- /dev/null +++ b/test/tests/unit/Message/Header/HeaderTest.php @@ -0,0 +1,58 @@ +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); + } +}