Refactor message tests

This commit is contained in:
PJ Dietz 2016-05-20 20:08:48 -04:00
parent d3e924485c
commit 929f8ffd97
9 changed files with 78 additions and 686 deletions

View File

@ -5,25 +5,11 @@ namespace WellRESTed\Test\Message;
use WellRESTed\Message\HeaderCollection;
/**
* @coversDefaultClass WellRESTed\Message\HeaderCollection
* @uses WellRESTed\Message\HeaderCollection
* @covers WellRESTed\Message\HeaderCollection
* @group message
*/
class HeaderCollectionTest extends \PHPUnit_Framework_TestCase
{
/**
* @covers ::__construct
*/
public function testCreatesInstance()
{
$collection = new HeaderCollection();
$this->assertNotNull($collection);
}
/**
* @covers ::offsetSet
* @covers ::offsetExists
*/
public function testAddsSingleHeaderAndIndicatesCaseInsensitiveIsset()
{
$collection = new HeaderCollection();
@ -31,10 +17,6 @@ class HeaderCollectionTest extends \PHPUnit_Framework_TestCase
$this->assertTrue(isset($collection["content-type"]));
}
/**
* @covers ::offsetSet
* @covers ::offsetExists
*/
public function testAddsMultipleHeadersAndIndicatesCaseInsensitiveIsset()
{
$collection = new HeaderCollection();
@ -43,9 +25,6 @@ class HeaderCollectionTest extends \PHPUnit_Framework_TestCase
$this->assertTrue(isset($collection["set-cookie"]));
}
/**
* @covers ::offsetGet
*/
public function testReturnsHeadersWithCaseInsensitiveHeaderName()
{
$collection = new HeaderCollection();
@ -56,9 +35,6 @@ class HeaderCollectionTest extends \PHPUnit_Framework_TestCase
$this->assertEquals(2, count(array_intersect($headers, ["cat=Molly", "dog=Bear"])));
}
/**
* @covers ::offsetUnset
*/
public function testRemovesHeadersWithCaseInsensitiveHeaderName()
{
$collection = new HeaderCollection();
@ -68,9 +44,7 @@ class HeaderCollectionTest extends \PHPUnit_Framework_TestCase
$this->assertFalse(isset($collection["set-cookie"]));
}
/**
* @coversNothing
*/
/** @coversNothing */
public function testCloneMakesDeepCopyOfHeaders()
{
$collection = new HeaderCollection();
@ -82,13 +56,6 @@ class HeaderCollectionTest extends \PHPUnit_Framework_TestCase
$this->assertTrue(isset($collection["set-cookie"]) && !isset($clone["set-cookie"]));
}
/**
* @covers ::current
* @covers ::next
* @covers ::key
* @covers ::valid
* @covers ::rewind
*/
public function testIteratesWithOriginalKeys()
{
$collection = new HeaderCollection();
@ -110,13 +77,6 @@ class HeaderCollectionTest extends \PHPUnit_Framework_TestCase
$this->assertEquals(0, $countUnmatched);
}
/**
* @covers ::current
* @covers ::next
* @covers ::key
* @covers ::valid
* @covers ::rewind
*/
public function testIteratesWithOriginalKeysAndValues()
{
$collection = new HeaderCollection();

View File

@ -3,25 +3,11 @@
namespace WellRESTed\Test\Unit\Message;
/**
* @coversDefaultClass WellRESTed\Message\Message
* @uses WellRESTed\Message\Message
* @uses WellRESTed\Message\HeaderCollection
* @covers WellRESTed\Message\Message
* @group message
*/
class MessageTest extends \PHPUnit_Framework_TestCase
{
/**
* @covers ::__construct
*/
public function testCreatesInstance()
{
$message = $this->getMockForAbstractClass('\WellRESTed\Message\Message');
$this->assertNotNull($message);
}
/**
* @covers ::__construct
*/
public function testSetsHeadersOnConstruction()
{
$headers = ["X-foo" => ["bar", "baz"]];
@ -30,9 +16,6 @@ class MessageTest extends \PHPUnit_Framework_TestCase
$this->assertEquals(["bar", "baz"], $message->getHeader("X-foo"));
}
/**
* @covers ::__construct
*/
public function testSetsBodyOnConstruction()
{
$headers = null;
@ -41,10 +24,7 @@ class MessageTest extends \PHPUnit_Framework_TestCase
$this->assertSame($body->reveal(), $message->getBody());
}
/**
* @covers ::__clone
*/
public function testCloneMakesDeepCopyOfHeaders()
public function testCloneMakesDeepCopyOfHeaders()
{
$message1 = $this->getMockForAbstractClass('\WellRESTed\Message\Message');
$message1 = $message1->withHeader("Content-type", "text/plain");
@ -55,18 +35,12 @@ class MessageTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// Protocol Version
/**
* @covers ::getProtocolVersion
*/
public function testGetProtocolVersionReturnsProtocolVersion1Point1ByDefault()
{
$message = $this->getMockForAbstractClass('\WellRESTed\Message\Message');
$this->assertEquals("1.1", $message->getProtocolVersion());
}
/**
* @covers ::getProtocolVersion
*/
public function testGetProtocolVersionReturnsProtocolVersion()
{
$message = $this->getMockForAbstractClass('\WellRESTed\Message\Message');
@ -74,9 +48,6 @@ class MessageTest extends \PHPUnit_Framework_TestCase
$this->assertEquals("1.0", $message->getProtocolVersion());
}
/**
* @covers ::withProtocolVersion
*/
public function testGetProtocolVersionReplacesProtocolVersion()
{
$message = $this->getMockForAbstractClass('\WellRESTed\Message\Message');
@ -87,11 +58,7 @@ class MessageTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// Headers
/**
* @covers ::withHeader
* @covers ::getValidatedHeaders
* @dataProvider validHeaderValueProvider
*/
/** @dataProvider validHeaderValueProvider */
public function testWithHeaderReplacesHeader($expected, $value)
{
$message = $this->getMockForAbstractClass('\WellRESTed\Message\Message');
@ -109,8 +76,6 @@ class MessageTest extends \PHPUnit_Framework_TestCase
}
/**
* @covers ::withHeader
* @covers ::getValidatedHeaders
* @expectedException \InvalidArgumentException
* @dataProvider invalidHeaderProvider
*/
@ -129,9 +94,6 @@ class MessageTest extends \PHPUnit_Framework_TestCase
];
}
/**
* @covers ::withAddedHeader
*/
public function testWithAddedHeaderSetsHeader()
{
$message = $this->getMockForAbstractClass('\WellRESTed\Message\Message');
@ -139,9 +101,6 @@ class MessageTest extends \PHPUnit_Framework_TestCase
$this->assertEquals(["application/json"], $message->getHeader("Content-type"));
}
/**
* @covers ::withAddedHeader
*/
public function testWithAddedHeaderAppendsValue()
{
$message = $this->getMockForAbstractClass('\WellRESTed\Message\Message');
@ -151,9 +110,6 @@ class MessageTest extends \PHPUnit_Framework_TestCase
$this->assertTrue(in_array("cat=Molly", $cookies) && in_array("dog=Bear", $cookies));
}
/**
* @covers ::withoutHeader
*/
public function testWithoutHeaderRemovesHeader()
{
$message = $this->getMockForAbstractClass('\WellRESTed\Message\Message');
@ -162,18 +118,12 @@ class MessageTest extends \PHPUnit_Framework_TestCase
$this->assertFalse($message->hasHeader("Content-type"));
}
/**
* @covers ::getHeader
*/
public function testGetHeaderReturnsEmptyArrayForUnsetHeader()
{
$message = $this->getMockForAbstractClass('\WellRESTed\Message\Message');
$this->assertEquals([], $message->getHeader("X-name"));
}
/**
* @covers ::getHeader
*/
public function testGetHeaderReturnsSingleHeader()
{
$message = $this->getMockForAbstractClass('\WellRESTed\Message\Message');
@ -181,9 +131,6 @@ class MessageTest extends \PHPUnit_Framework_TestCase
$this->assertEquals(["application/json"], $message->getHeader("Content-type"));
}
/**
* @covers ::getHeader
*/
public function testGetHeaderReturnsMultipleValuesForHeader()
{
$message = $this->getMockForAbstractClass('\WellRESTed\Message\Message');
@ -192,18 +139,12 @@ class MessageTest extends \PHPUnit_Framework_TestCase
$this->assertEquals(["cat=Molly", "dog=Bear"], $message->getHeader("X-name"));
}
/**
* @covers ::getHeaderLine
*/
public function testGetHeaderLineReturnsEmptyStringForUnsetHeader()
{
$message = $this->getMockForAbstractClass('\WellRESTed\Message\Message');
$this->assertSame("", $message->getHeaderLine("X-not-set"));
}
/**
* @covers ::getHeaderLine
*/
public function testGetHeaderLineReturnsMultipleHeadersJoinedByCommas()
{
$message = $this->getMockForAbstractClass('\WellRESTed\Message\Message');
@ -212,9 +153,6 @@ class MessageTest extends \PHPUnit_Framework_TestCase
$this->assertEquals("cat=Molly, dog=Bear", $message->getHeaderLine("X-name"));
}
/**
* @covers ::hasHeader
*/
public function testHasHeaderReturnsTrueWhenHeaderIsSet()
{
$message = $this->getMockForAbstractClass('\WellRESTed\Message\Message');
@ -222,18 +160,12 @@ class MessageTest extends \PHPUnit_Framework_TestCase
$this->assertTrue($message->hasHeader("Content-type"));
}
/**
* @covers ::hasHeader
*/
public function testHasHeaderReturnsFalseWhenHeaderIsNotSet()
{
$message = $this->getMockForAbstractClass('\WellRESTed\Message\Message');
$this->assertFalse($message->hasHeader("Content-type"));
}
/**
* @covers ::getHeaders
*/
public function testGetHeadersReturnOriginalHeaderNamesAsKeys()
{
$message = $this->getMockForAbstractClass('\WellRESTed\Message\Message');
@ -251,9 +183,6 @@ class MessageTest extends \PHPUnit_Framework_TestCase
$this->assertEquals(0, $countUnmatched);
}
/**
* @covers ::getHeaders
*/
public function testGetHeadersReturnOriginalHeaderNamesAndValues()
{
$message = $this->getMockForAbstractClass('\WellRESTed\Message\Message');
@ -284,20 +213,12 @@ class MessageTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// Body
/**
* @covers ::getBody
* @uses WellRESTed\Message\NullStream
*/
public function testGetBodyReturnsEmptyStreamByDefault()
{
$message = $this->getMockForAbstractClass('\WellRESTed\Message\Message');
$this->assertEquals("", (string) $message->getBody());
}
/**
* @covers ::getBody
* @covers ::withBody
*/
public function testGetBodyReturnsAttachedStream()
{
$stream = $this->prophesize('\Psr\Http\Message\StreamInterface');

View File

@ -5,15 +5,11 @@ namespace WellRESTed\Test\Message;
use WellRESTed\Message\NullStream;
/**
* @coversDefaultClass WellRESTed\Message\NullStream
* @uses WellRESTed\Message\NullStream
* @covers WellRESTed\Message\NullStream
* @group message
*/
class NullStreamTest extends \PHPUnit_Framework_TestCase
{
/**
* @covers ::__toString()
*/
public function testCastsToString()
{
$stream = new NullStream();
@ -27,129 +23,87 @@ class NullStreamTest extends \PHPUnit_Framework_TestCase
$this->assertTrue(true); // Asserting no exception occured.
}
/**
* @covers ::detach()
*/
public function testDetachReturnsNull()
{
$stream = new \WellRESTed\Message\NullStream();
$this->assertNull($stream->detach());
}
/**
* @covers ::getSize
*/
public function testSizeReturnsZero()
{
$stream = new \WellRESTed\Message\NullStream();
$this->assertEquals(0, $stream->getSize());
}
/**
* @covers ::tell
*/
public function testTellReturnsZero()
{
$stream = new \WellRESTed\Message\NullStream();
$this->assertEquals(0, $stream->tell());
}
/**
* @covers ::eof
*/
public function testEofReturnsTrue()
{
$stream = new \WellRESTed\Message\NullStream();
$this->assertTrue($stream->eof());
}
/**
* @covers ::isSeekable
*/
public function testIsSeekableReturnsFalse()
{
$stream = new \WellRESTed\Message\NullStream();
$this->assertFalse($stream->isSeekable());
}
/**
* @covers ::seek
* @expectedException \RuntimeException
*/
/** @expectedException \RuntimeException */
public function testSeekReturnsFalse()
{
$stream = new NullStream();
$stream->seek(10);
}
/**
* @covers ::rewind
* @expectedException \RuntimeException
*/
/** @expectedException \RuntimeException */
public function testRewindThrowsException()
{
$stream = new \WellRESTed\Message\NullStream();
$stream->rewind();
}
/**
* @covers ::isWritable
*/
public function testIsWritableReturnsFalse()
{
$stream = new NullStream();
$this->assertFalse($stream->isWritable());
}
/**
* @covers ::write
* @expectedException \RuntimeException
*/
/** @expectedException \RuntimeException */
public function testWriteThrowsException()
{
$stream = new \WellRESTed\Message\NullStream();
$stream->write("");
}
/**
* @covers ::isReadable
*/
public function testIsReadableReturnsTrue()
{
$stream = new \WellRESTed\Message\NullStream();
$this->assertTrue($stream->isReadable());
}
/**
* @covers ::read
*/
public function testReadReturnsEmptyString()
{
$stream = new \WellRESTed\Message\NullStream();
$this->assertEquals("", $stream->read(100));
}
/**
* @covers ::getContents
*/
public function testGetContentsReturnsEmptyString()
{
$stream = new NullStream();
$this->assertEquals("", $stream->getContents());
}
/**
* @covers ::getMetadata
*/
public function testGetMetadataReturnsNull()
{
$stream = new \WellRESTed\Message\NullStream();
$this->assertNull($stream->getMetadata());
}
/**
* @covers ::getMetadata
*/
public function testGetMetadataReturnsNullWithKey()
{
$stream = new \WellRESTed\Message\NullStream();

View File

@ -2,16 +2,12 @@
namespace WellRESTed\Test\Unit\Message;
use WellRESTed\Message\NullStream;
use WellRESTed\Message\Request;
use WellRESTed\Message\Uri;
/**
* @coversDefaultClass WellRESTed\Message\Request
* @uses WellRESTed\Message\Request
* @uses WellRESTed\Message\Request
* @uses WellRESTed\Message\Message
* @uses WellRESTed\Message\HeaderCollection
* @uses WellRESTed\Message\Uri
* @covers WellRESTed\Message\Request
* @group message
*/
class RequestTest extends \PHPUnit_Framework_TestCase
@ -19,29 +15,19 @@ class RequestTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// Construction
/**
* @covers ::__construct
*/
public function testCreatesInstance()
public function testCreatesInstanceWithNoParameters()
{
$request = new Request();
$this->assertNotNull($request);
}
/**
* @covers ::__construct
*/
public function testCreatesInstanceWithUri()
{
$uri = $this->prophesize('Psr\Http\Message\UriInterface');
$uri = $uri->reveal();
$uri = new Uri();
$request = new Request($uri);
$this->assertSame($uri, $request->getUri());
}
/**
* @covers ::__construct
*/
public function testCreatesInstanceWithMethod()
{
$method = "POST";
@ -49,9 +35,6 @@ class RequestTest extends \PHPUnit_Framework_TestCase
$this->assertSame($method, $request->getMethod());
}
/**
* @covers ::__construct
*/
public function testSetsHeadersOnConstruction()
{
$request = new Request(null, null, [
@ -60,22 +43,16 @@ class RequestTest extends \PHPUnit_Framework_TestCase
$this->assertEquals(["bar","baz"], $request->getHeader("X-foo"));
}
/**
* @covers ::__construct
*/
public function testSetsBodyOnConstruction()
{
$body = $this->prophesize('\Psr\Http\Message\StreamInterface');
$request = new Request(null, null, [], $body->reveal());
$this->assertSame($body->reveal(), $request->getBody());
$body = new NullStream();
$request = new Request(null, null, [], $body);
$this->assertSame($body, $request->getBody());
}
// ------------------------------------------------------------------------
// Request Target
/**
* @covers ::getRequestTarget
*/
public function testGetRequestTargetPrefersExplicitRequestTarget()
{
$request = new Request();
@ -83,34 +60,20 @@ class RequestTest extends \PHPUnit_Framework_TestCase
$this->assertEquals("*", $request->getRequestTarget());
}
/**
* @covers ::getRequestTarget
*/
public function testGetRequestTargetUsesOriginFormOfUri()
{
$uri = $this->prophesize('\Psr\Http\Message\UriInterface');
$uri->getHost()->willReturn("");
$uri->getPath()->willReturn("/my/path");
$uri->getQuery()->willReturn("cat=Molly&dog=Bear");
$uri = new Uri('/my/path?cat=Molly&dog=Bear');
$request = new Request();
$request = $request->withUri($uri->reveal());
$request = $request->withUri($uri);
$this->assertEquals("/my/path?cat=Molly&dog=Bear", $request->getRequestTarget());
}
/**
* @covers ::getRequestTarget
*/
public function testGetRequestTargetReturnsSlashByDefault()
{
$request = new Request();
$this->assertEquals("/", $request->getRequestTarget());
}
/**
* @covers ::withRequestTarget
* @covers ::getRequestTarget
*/
public function testWithRequestTargetCreatesNewInstance()
{
$request = new Request();
@ -121,20 +84,12 @@ class RequestTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// Method
/**
* @covers ::getMethod
*/
public function testGetMethodReturnsGetByDefault()
{
$request = new Request();
$this->assertEquals("GET", $request->getMethod());
}
/**
* @covers ::withMethod
* @covers ::getValidatedMethod
* @covers ::getMethod
*/
public function testWithMethodCreatesNewInstance()
{
$request = new Request();
@ -143,8 +98,6 @@ class RequestTest extends \PHPUnit_Framework_TestCase
}
/**
* @covers ::withMethod
* @covers ::getValidatedMethod
* @dataProvider invalidMethodProvider
* @expectedException \InvalidArgumentException
*/
@ -166,9 +119,6 @@ class RequestTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// Request URI
/**
* @covers ::getUri
*/
public function testGetUriReturnsEmptyUriByDefault()
{
$request = new Request();
@ -176,30 +126,18 @@ class RequestTest extends \PHPUnit_Framework_TestCase
$this->assertEquals($uri, $request->getUri());
}
/**
* @covers ::withUri
* @covers ::getUri
*/
public function testWithUriCreatesNewInstance()
{
$uri = $this->prophesize('\Psr\Http\Message\UriInterface');
$uri = $uri->reveal();
$uri = new Uri();
$request = new Request();
$request = $request->withUri($uri);
$this->assertSame($uri, $request->getUri());
}
/**
* @covers ::__clone
*/
public function testWithUriPreservesOriginalRequest()
{
$uri1 = $this->prophesize('\Psr\Http\Message\UriInterface');
$uri1 = $uri1->reveal();
$uri2 = $this->prophesize('\Psr\Http\Message\UriInterface');
$uri2 = $uri2->reveal();
$uri1 = new Uri();
$uri2 = new Uri();
$request1 = new Request();
$request1 = $request1->withUri($uri1);
@ -211,75 +149,55 @@ class RequestTest extends \PHPUnit_Framework_TestCase
$this->assertNotEquals($request1->getHeader("Accept"), $request2->getHeader("Accept"));
}
/**
* @covers ::withUri
*/
public function testWithUriUpdatesHostHeader()
{
$hostname = "bar.com";
$uri = $this->prophesize('\Psr\Http\Message\UriInterface');
$uri->getHost()->willReturn($hostname);
$uri = new uri("http://$hostname");
$request = new Request();
$request = $request->withHeader("Host", "foo.com");
$request = $request->withUri($uri->reveal());
$request = $request->withUri($uri);
$this->assertSame([$hostname], $request->getHeader("Host"));
}
/**
* @covers ::withUri
*/
public function testWithUriDoesNotUpdatesHostHeaderWhenUriHasNoHost()
{
$hostname = "foo.com";
$uri = $this->prophesize('\Psr\Http\Message\UriInterface');
$uri->getHost()->willReturn("");
$uri = new Uri();
$request = new Request();
$request = $request->withHeader("Host", $hostname);
$request = $request->withUri($uri->reveal());
$request = $request->withUri($uri);
$this->assertSame([$hostname], $request->getHeader("Host"));
}
/**
* @covers ::withUri
*/
public function testPreserveHostUpdatesHostHeaderWhenHeaderIsOriginallyMissing()
{
$hostname = "foo.com";
$uri = $this->prophesize('\Psr\Http\Message\UriInterface');
$uri->getHost()->willReturn($hostname);
$uri = new uri("http://$hostname");
$request = new Request();
$request = $request->withUri($uri->reveal(), true);
$request = $request->withUri($uri, true);
$this->assertSame([$hostname], $request->getHeader("Host"));
}
/**
* @covers ::withUri
*/
public function testPreserveHostDoesNotUpdatesWhenBothAreMissingHosts()
{
$uri = $this->prophesize('\Psr\Http\Message\UriInterface');
$uri->getHost()->willReturn("");
$uri = new Uri();
$request = new Request();
$request = $request->withUri($uri->reveal(), true);
$request = $request->withUri($uri, true);
$this->assertSame([], $request->getHeader("Host"));
}
/**
* @covers ::withUri
*/
public function testPreserveHostDoesNotUpdateHostHeader()
{
$hostname = "foo.com";
$uri = $this->prophesize('\Psr\Http\Message\UriInterface');
$uri->getHost()->willReturn("bar.com");
$uri = new uri("http://bar.com");
$request = new Request();
$request = $request->withHeader("Host", $hostname);
$request = $request->withUri($uri->reveal(), true);
$request = $request->withUri($uri, true);
$this->assertSame([$hostname], $request->getHeader("Host"));
}
}

View File

@ -2,13 +2,11 @@
namespace WellRESTed\Test\Unit\Message;
use WellRESTed\Message\NullStream;
use WellRESTed\Message\Response;
/**
* @coversDefaultClass WellRESTed\Message\Response
* @uses WellRESTed\Message\Response
* @uses WellRESTed\Message\Message
* @uses WellRESTed\Message\HeaderCollection
* @covers WellRESTed\Message\Response
* @group message
*/
class ResponseTest extends \PHPUnit_Framework_TestCase
@ -16,18 +14,12 @@ class ResponseTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// Construction
/**
* @covers ::__construct
*/
public function testSetsStatusCodeOnConstruction()
{
$response = new Response(200);
$this->assertSame(200, $response->getStatusCode());
}
/**
* @covers ::__construct
*/
public function testSetsHeadersOnConstruction()
{
$response = new Response(200, [
@ -36,24 +28,16 @@ class ResponseTest extends \PHPUnit_Framework_TestCase
$this->assertEquals(["bar","baz"], $response->getHeader("X-foo"));
}
/**
* @covers ::__construct
*/
public function testSetsBodyOnConstruction()
{
$body = $this->prophesize('\Psr\Http\Message\StreamInterface');
$response = new Response(200, [], $body->reveal());
$this->assertSame($body->reveal(), $response->getBody());
$body = new NullStream();
$response = new Response(200, [], $body);
$this->assertSame($body, $response->getBody());
}
// ------------------------------------------------------------------------
// Status and Reason Phrase
/**
* @covers ::withStatus
* @covers ::getStatusCode
* @covers ::getDefaultReasonPhraseForStatusCode
*/
public function testCreatesNewInstanceWithStatusCode()
{
$response = new Response();
@ -61,12 +45,7 @@ class ResponseTest extends \PHPUnit_Framework_TestCase
$this->assertEquals(200, $copy->getStatusCode());
}
/**
* @covers ::withStatus
* @covers ::getReasonPhrase
* @covers ::getDefaultReasonPhraseForStatusCode
* @dataProvider statusProvider
*/
/** @dataProvider statusProvider */
public function testCreatesNewInstanceWithReasonPhrase($code, $reasonPhrase, $expected)
{
$response = new Response();
@ -119,10 +98,6 @@ class ResponseTest extends \PHPUnit_Framework_TestCase
];
}
/**
* @covers ::withStatus
* @covers ::getStatusCode
*/
public function testWithStatusCodePreservesOriginalResponse()
{
$response1 = new Response();

View File

@ -2,19 +2,13 @@
namespace WellRESTed\Test\Unit\Message;
use WellRESTed\Message\NullStream;
use WellRESTed\Message\ServerRequest;
use WellRESTed\Message\UploadedFile;
use WellRESTed\Message\Uri;
/**
* @coversDefaultClass WellRESTed\Message\ServerRequest
* @uses WellRESTed\Message\ServerRequest
* @uses WellRESTed\Message\Request
* @uses WellRESTed\Message\Message
* @uses WellRESTed\Message\HeaderCollection
* @uses WellRESTed\Message\Stream
* @uses WellRESTed\Message\UploadedFile
* @uses WellRESTed\Message\Uri
* @covers WellRESTed\Message\ServerRequest
* @group message
*/
class ServerRequestTest extends \PHPUnit_Framework_TestCase
@ -22,22 +16,7 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// Construction and Marshalling
/**
* @covers ::__construct
*/
public function testCreatesInstance()
{
$request = new ServerRequest();
$this->assertNotNull($request);
}
/**
* @covers ::getServerRequest
* @covers ::getServerRequestHeaders
* @covers ::readFromServerRequest
* @covers ::getStreamForBody
* @preserveGlobalState disabled
*/
/** @preserveGlobalState disabled */
public function testGetServerRequestReadsFromRequest()
{
$_SERVER = [
@ -63,7 +42,6 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
// Marshalling Request Information
/**
* @covers ::readFromServerRequest
* @preserveGlobalState disabled
* @dataProvider protocolVersionProvider
*/
@ -89,7 +67,6 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
}
/**
* @covers ::readFromServerRequest
* @preserveGlobalState disabled
* @dataProvider methodProvider
*/
@ -116,7 +93,6 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
}
/**
* @covers ::readFromServerRequest
* @preserveGlobalState disabled
* @dataProvider requestTargetProvider
*/
@ -140,29 +116,22 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
];
}
/**
* @covers ::getHeader
* @depends testGetServerRequestReadsFromRequest
*/
/** @depends testGetServerRequestReadsFromRequest */
public function testGetServerRequestReadsHeaders($request)
{
/** @var ServerRequest $request */
$this->assertEquals(["application/json"], $request->getHeader("Accept"));
}
/**
* @covers ::getBody
*/
public function testGetServerRequestReadsBody()
{
$body = $this->prophesize('Psr\Http\Message\StreamInterface');
$body = new NullStream();
$request = $this->getMockBuilder('WellRESTed\Message\ServerRequest')
->setMethods(["getStreamForBody"])
->getMock();
$request->expects($this->any())
->method("getStreamForBody")
->will($this->returnValue($body->reveal()));
->will($this->returnValue($body));
$called = false;
$callReadFromServerRequest = function () use (&$called) {
@ -172,14 +141,10 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
$callReadFromServerRequest = $callReadFromServerRequest->bindTo($request, $request);
$callReadFromServerRequest();
$this->assertSame($body->reveal(), $request->getBody());
$this->assertSame($body, $request->getBody());
}
/**
* @covers ::getServerRequest
* @covers ::getServerRequestHeaders
* @covers ::readFromServerRequest
* @covers ::readUri
* @preserveGlobalState disabled
* @dataProvider uriProvider
*/
@ -226,30 +191,21 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// Marshalling ServerRequest Information
/**
* @covers ::getServerParams
* @depends testGetServerRequestReadsFromRequest
*/
/** @depends testGetServerRequestReadsFromRequest */
public function testGetServerRequestReadsServerParams($request)
{
/** @var ServerRequest $request */
$this->assertEquals("localhost", $request->getServerParams()["HTTP_HOST"]);
}
/**
* @covers ::getCookieParams
* @depends testGetServerRequestReadsFromRequest
*/
/** @depends testGetServerRequestReadsFromRequest */
public function testGetServerRequestReadsCookieParams($request)
{
/** @var ServerRequest $request */
$this->assertEquals("Molly", $request->getCookieParams()["cat"]);
}
/**
* @covers ::getQueryParams
* @depends testGetServerRequestReadsFromRequest
*/
/** @depends testGetServerRequestReadsFromRequest */
public function testGetServerRequestReadsQueryParams($request)
{
/** @var ServerRequest $request */
@ -257,10 +213,6 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
}
/**
* @covers ::getServerRequest
* @covers ::readUploadedFiles
* @covers ::getUploadedFiles
* @covers ::addUploadedFilesToBranch
* @preserveGlobalState disabled
* @dataProvider uploadedFileProvider
*/
@ -364,8 +316,6 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
}
/**
* @covers ::getServerRequest
* @covers ::getParsedBody
* @preserveGlobalState disabled
* @dataProvider formContentTypeProvider
*/
@ -392,10 +342,7 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
];
}
/**
* @covers ::getAttribute
* @depends testGetServerRequestReadsFromRequest
*/
/** @depends testGetServerRequestReadsFromRequest */
public function testGetServerRequestProvidesAttributesIfPassed($request)
{
/** @var ServerRequest $request */
@ -405,9 +352,6 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// Server Params
/**
* @covers ::getServerParams
*/
public function testGetServerParamsReturnsEmptyArrayByDefault()
{
$request = new ServerRequest();
@ -417,19 +361,13 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// Cookies
/**
* @covers ::getCookieParams
*/
public function testGetCookieParamsReturnsEmptyArrayByDefault()
{
$request = new ServerRequest();
$this->assertEquals([], $request->getCookieParams());
}
/**
* @covers ::withCookieParams
* @depends testGetServerRequestReadsFromRequest
*/
/** @depends testGetServerRequestReadsFromRequest */
public function testWithCookieParamsCreatesNewInstance($request1)
{
/** @var ServerRequest $request1 */
@ -442,19 +380,13 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// Query
/**
* @covers ::getQueryParams
*/
public function testGetQueryParamsReturnsEmptyArrayByDefault()
{
$request = new ServerRequest();
$this->assertEquals([], $request->getQueryParams());
}
/**
* @covers ::withQueryParams
* @depends testGetServerRequestReadsFromRequest
*/
/** @depends testGetServerRequestReadsFromRequest */
public function testWithQueryParamsCreatesNewInstance($request1)
{
/** @var ServerRequest $request1 */
@ -467,19 +399,13 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// Uploaded Files
/**
* @covers ::getUploadedFiles
*/
public function testGetUploadedFilesReturnsEmptyArrayByDefault()
{
$request = new ServerRequest();
$this->assertEquals([], $request->getUploadedFiles());
}
/**
* @covers ::getUploadedFiles
* @preserveGlobalState disabled
*/
/** @preserveGlobalState disabled */
public function testGetUploadedFilesReturnsEmptyArrayWhenNoFilesAreUploaded()
{
$_SERVER = [
@ -492,11 +418,6 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
$this->assertSame([], $request->getUploadedFiles());
}
/**
* @covers ::withUploadedFiles
* @covers ::isValidUploadedFilesBranch
* @covers ::isValidUploadedFilesTree
*/
public function testWithUploadedFilesCreatesNewInstance()
{
$uploadedFiles = [
@ -508,12 +429,7 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
$this->assertNotSame($request2, $request1);
}
/**
* @covers ::withUploadedFiles
* @covers ::isValidUploadedFilesTree
* @covers ::isValidUploadedFilesBranch
* @dataProvider validUploadedFilesProvider
*/
/** @dataProvider validUploadedFilesProvider */
public function testWithUploadedFilesStoresPassedUploadedFiles($uploadedFiles)
{
$request = new ServerRequest();
@ -545,9 +461,6 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
}
/**
* @covers ::withUploadedFiles
* @covers ::isValidUploadedFilesTree
* @covers ::isValidUploadedFilesBranch
* @expectedException \InvalidArgumentException
* @dataProvider invalidUploadedFilesProvider
*/
@ -621,19 +534,13 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// Parsed Body
/**
* @covers ::getParsedBody
*/
public function testGetParsedBodyReturnsNullByDefault()
{
$request = new ServerRequest();
$this->assertNull($request->getParsedBody());
}
/**
* @covers ::withParsedBody
* @depends testGetServerRequestReadsFromRequest
*/
/** @depends testGetServerRequestReadsFromRequest */
public function testWithParsedBodyCreatesNewInstance($request1)
{
/** @var ServerRequest $request1 */
@ -648,7 +555,6 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
}
/**
* @covers ::withParsedBody
* @expectedException \InvalidArgumentException
* @dataProvider invalidParsedBodyProvider
*/
@ -666,9 +572,6 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
];
}
/**
* @covers ::__clone
*/
public function testCloneMakesDeepCopiesOfParsedBody()
{
$body = (object) [
@ -688,18 +591,12 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// Attributes
/**
* @covers ::getAttributes
*/
public function testGetAttributesReturnsEmptyArrayByDefault()
{
$request = new ServerRequest();
$this->assertEquals([], $request->getAttributes());
}
/**
* @covers ::getAttributes
*/
public function testGetAttributesReturnsAllAttributes()
{
$request = new ServerRequest();
@ -712,19 +609,12 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
$this->assertEquals($expected, $request->getAttributes());
}
/**
* @covers ::getAttribute
*/
public function testGetAttributeReturnsDefaultIfNotSet()
{
$request = new ServerRequest();
$this->assertEquals("Oscar", $request->getAttribute("cat", "Oscar"));
}
/**
* @covers ::withAttribute
* @covers ::getAttribute
*/
public function testWithAttributeCreatesNewInstance()
{
$request = new ServerRequest();
@ -732,9 +622,6 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
$this->assertEquals("Molly", $request->getAttribute("cat"));
}
/**
* @covers ::withAttribute
*/
public function testWithAttributePreserversOtherAttributes()
{
$request = new ServerRequest();
@ -747,9 +634,6 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
$this->assertEquals($expected, $request->getAttributes());
}
/**
* @covers ::withoutAttribute
*/
public function testWithoutAttributeCreatesNewInstance()
{
$request = new ServerRequest();
@ -757,9 +641,6 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
$this->assertNotEquals($request, $request->withoutAttribute("cat"));
}
/**
* @covers ::withoutAttribute
*/
public function testWithoutAttributeRemovesAttribute()
{
$request = new ServerRequest();
@ -768,9 +649,6 @@ class ServerRequestTest extends \PHPUnit_Framework_TestCase
$this->assertEquals("Oscar", $request->getAttribute("cat", "Oscar"));
}
/**
* @covers ::withoutAttribute
*/
public function testWithoutAttributePreservesOtherAttributes()
{
$request = new ServerRequest();

View File

@ -5,8 +5,7 @@ namespace WellRESTed\Test\Message;
use WellRESTed\Message\Stream;
/**
* @coversDefaultClass WellRESTed\Message\Stream
* @uses WellRESTed\Message\Stream
* @covers WellRESTed\Message\Stream
* @group message
*/
class StreamTest extends \PHPUnit_Framework_TestCase
@ -27,9 +26,6 @@ class StreamTest extends \PHPUnit_Framework_TestCase
}
}
/**
* @covers ::__construct
*/
public function testCreatesInstanceWithStreamResource()
{
$stream = new \WellRESTed\Message\Stream($this->resource);
@ -43,7 +39,6 @@ class StreamTest extends \PHPUnit_Framework_TestCase
}
/**
* @covers ::__construct
* @expectedException \InvalidArgumentException
* @dataProvider invalidResourceProvider
*/
@ -62,18 +57,12 @@ class StreamTest extends \PHPUnit_Framework_TestCase
];
}
/**
* @covers ::__toString
*/
public function testCastsToString()
{
$stream = new \WellRESTed\Message\Stream($this->resource);
$this->assertEquals($this->content, (string) $stream);
}
/**
* @covers ::close
*/
public function testClosesHandle()
{
$stream = new Stream($this->resource);
@ -81,18 +70,12 @@ class StreamTest extends \PHPUnit_Framework_TestCase
$this->assertFalse(is_resource($this->resource));
}
/**
* @covers ::detach
*/
public function testDetachReturnsHandle()
{
$stream = new Stream($this->resource);
$this->assertSame($this->resource, $stream->detach());
}
/**
* @covers ::detach
*/
public function testDetachUnsetsInstanceVariable()
{
$stream = new \WellRESTed\Message\Stream($this->resource);
@ -100,18 +83,12 @@ class StreamTest extends \PHPUnit_Framework_TestCase
$this->assertNull($stream->detach());
}
/**
* @covers ::getSize
*/
public function testReturnsSize()
{
$stream = new \WellRESTed\Message\Stream($this->resource);
$this->assertEquals(strlen($this->content), $stream->getSize());
}
/**
* @covers ::tell
*/
public function testTellReturnsHandlePosition()
{
$stream = new \WellRESTed\Message\Stream($this->resource);
@ -119,9 +96,6 @@ class StreamTest extends \PHPUnit_Framework_TestCase
$this->assertEquals(10, $stream->tell());
}
/**
* @covers ::eof
*/
public function testReturnsOef()
{
$stream = new Stream($this->resource);
@ -130,9 +104,6 @@ class StreamTest extends \PHPUnit_Framework_TestCase
$this->assertTrue($stream->eof());
}
/**
* @covers ::isSeekable
*/
public function testReadsSeekableStatusFromMetadata()
{
$stream = new \WellRESTed\Message\Stream($this->resource);
@ -141,9 +112,6 @@ class StreamTest extends \PHPUnit_Framework_TestCase
$this->assertEquals($seekable, $stream->isSeekable());
}
/**
* @covers ::seek
*/
public function testSeeksToPosition()
{
$stream = new \WellRESTed\Message\Stream($this->resource);
@ -151,9 +119,6 @@ class StreamTest extends \PHPUnit_Framework_TestCase
$this->assertEquals(10, ftell($this->resource));
}
/**
* @covers ::rewind
*/
public function testRewindReturnsToBeginning()
{
$stream = new Stream($this->resource);
@ -162,9 +127,6 @@ class StreamTest extends \PHPUnit_Framework_TestCase
$this->assertEquals(0, ftell($this->resource));
}
/**
* @covers ::write
*/
public function testWritesToHandle()
{
$message = "\nThis is a stream.";
@ -173,10 +135,7 @@ class StreamTest extends \PHPUnit_Framework_TestCase
$this->assertEquals($this->content . $message, (string) $stream);
}
/**
* @covers ::write
* @expectedException \RuntimeException
*/
/** @expectedException \RuntimeException */
public function testThrowsExceptionOnErrorWriting()
{
$filename = tempnam(sys_get_temp_dir(), "php");
@ -185,10 +144,7 @@ class StreamTest extends \PHPUnit_Framework_TestCase
$stream->write("Hello, world!");
}
/**
* @covers ::read
* @expectedException \RuntimeException
*/
/** @expectedException \RuntimeException */
public function testThrowsExceptionOnErrorReading()
{
$filename = tempnam(sys_get_temp_dir(), "php");
@ -197,9 +153,6 @@ class StreamTest extends \PHPUnit_Framework_TestCase
$stream->read(10);
}
/**
* @covers ::read
*/
public function testReadsFromStream()
{
$stream = new \WellRESTed\Message\Stream($this->resource);
@ -208,10 +161,7 @@ class StreamTest extends \PHPUnit_Framework_TestCase
$this->assertEquals("world", $string);
}
/**
* @covers ::getContents
* @expectedException \RuntimeException
*/
/** @expectedException \RuntimeException */
public function testThrowsExceptionOnErrorReadingToEnd()
{
$filename = tempnam(sys_get_temp_dir(), "php");
@ -220,9 +170,6 @@ class StreamTest extends \PHPUnit_Framework_TestCase
$stream->getContents();
}
/**
* @covers ::getContents
*/
public function testReadsToEnd()
{
$stream = new Stream($this->resource);
@ -231,18 +178,12 @@ class StreamTest extends \PHPUnit_Framework_TestCase
$this->assertEquals("world!", $string);
}
/**
* @covers ::getMetadata
*/
public function testReturnsMetadataArray()
{
$stream = new \WellRESTed\Message\Stream($this->resource);
$this->assertEquals(stream_get_meta_data($this->resource), $stream->getMetadata());
}
/**
* @covers ::getMetadata
*/
public function testReturnsMetadataItem()
{
$stream = new Stream($this->resource);
@ -250,10 +191,7 @@ class StreamTest extends \PHPUnit_Framework_TestCase
$this->assertEquals($metadata["mode"], $stream->getMetadata("mode"));
}
/**
* @covers ::isReadable
* @dataProvider modeProvider
*/
/** @dataProvider modeProvider */
public function testReturnsIsReadableForReadableStreams($mode, $readable, $writeable)
{
$tmp = tempnam(sys_get_temp_dir(), "php");
@ -265,10 +203,7 @@ class StreamTest extends \PHPUnit_Framework_TestCase
$this->assertEquals($readable, $stream->isReadable());
}
/**
* @covers ::isWritable
* @dataProvider modeProvider
*/
/** @dataProvider modeProvider */
public function testReturnsIsWritableForWritableStreams($mode, $readable, $writeable)
{
$tmp = tempnam(sys_get_temp_dir(), "php");

View File

@ -9,10 +9,7 @@ use WellRESTed\Message\UploadedFileState;
require_once __DIR__ . "/../../../src/UploadedFileState.php";
/**
* @coversDefaultClass WellRESTed\Message\UploadedFile
* @uses WellRESTed\Message\UploadedFile
* @uses WellRESTed\Message\Stream
* @uses WellRESTed\Message\NullStream
* @covers WellRESTed\Message\UploadedFile
* @group message
*/
class UploadedFileTest extends \PHPUnit_Framework_TestCase
@ -42,20 +39,12 @@ class UploadedFileTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// getStream
/**
* @covers ::__construct
* @covers ::getStream
*/
public function testGetStreamReturnsStreamInterface()
{
$file = new UploadedFile("", "", 0, "", 0);
$this->assertInstanceOf('\Psr\Http\Message\StreamInterface', $file->getStream());
}
/**
* @covers ::__construct
* @covers ::getStream
*/
public function testGetStreamReturnsStreamWrappingUploadedFile()
{
$content = "Hello, World!";
@ -65,21 +54,13 @@ class UploadedFileTest extends \PHPUnit_Framework_TestCase
$this->assertEquals($content, (string) $stream);
}
/**
* @covers ::__construct
* @covers ::getStream
*/
public function testGetStreamReturnsEmptyStreamForNoFile()
{
$file = new UploadedFile("", "", 0, "", 0);
$this->assertTrue($file->getStream()->eof());
}
/**
* @covers ::__construct
* @covers ::getStream
* @expectedException \RuntimeException
*/
/** @expectedException \RuntimeException */
public function testGetStreamThrowsExceptionAfterMoveTo()
{
$content = "Hello, World!";
@ -89,11 +70,7 @@ class UploadedFileTest extends \PHPUnit_Framework_TestCase
$file->getStream();
}
/**
* @covers ::__construct
* @covers ::getStream
* @expectedException \RuntimeException
*/
/** @expectedException \RuntimeException */
public function testGetStreamThrowsExceptionForNonUploadedFile()
{
UploadedFileState::$php_sapi_name = "apache";
@ -105,9 +82,6 @@ class UploadedFileTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// moveTo
/**
* @covers ::moveTo
*/
public function testMoveToSapiRelocatesUploadedFileToDestiationIfExists()
{
UploadedFileState::$php_sapi_name = "fpm-fcgi";
@ -122,9 +96,6 @@ class UploadedFileTest extends \PHPUnit_Framework_TestCase
$this->assertEquals($originalMd5, md5_file($this->movePath));
}
/**
* @covers ::moveTo
*/
public function testMoveToNonSapiRelocatesUploadedFileToDestiationIfExists()
{
$content = "Hello, World!";
@ -137,11 +108,8 @@ class UploadedFileTest extends \PHPUnit_Framework_TestCase
$this->assertEquals($originalMd5, md5_file($this->movePath));
}
/**
* @covers ::moveTo
* @expectedException \RuntimeException
*/
public function testMoveToThrowsExcpetionOnSubsequentCall()
/** @expectedException \RuntimeException */
public function testMoveToThrowsExceptionOnSubsequentCall()
{
$content = "Hello, World!";
file_put_contents($this->tmpName, $content);

View File

@ -5,8 +5,7 @@ namespace WellRESTed\Test\Message;
use WellRESTed\Message\Uri;
/**
* @coversDefaultClass WellRESTed\Message\Uri
* @uses WellRESTed\Message\Uri
* @covers WellRESTed\Message\Uri
* @group message
*/
class UriTest extends \PHPUnit_Framework_TestCase
@ -14,21 +13,13 @@ class UriTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// Scheme
/**
* @covers ::getScheme
*/
public function testDefaultSchemeIsEmpty()
{
$uri = new Uri();
$this->assertSame("", $uri->getScheme());
}
/**
* @covers ::withScheme
* @dataProvider schemeProvider
* @param string $expected The expected result of getScheme
* @param string $scheme The scheme to pass to withScheme
*/
/** @dataProvider schemeProvider */
public function testSetsSchemeCaseInsensitively($expected, $scheme)
{
$uri = new Uri();
@ -48,10 +39,7 @@ class UriTest extends \PHPUnit_Framework_TestCase
];
}
/**
* @covers ::withScheme
* @expectedException \InvalidArgumentException
*/
/** @expectedException \InvalidArgumentException */
public function testInvalidSchemeThrowsException()
{
$uri = new Uri();
@ -61,9 +49,6 @@ class UriTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// Authority
/**
* @covers ::getAuthority
*/
public function testDefaultAuthorityIsEmpty()
{
$uri = new Uri();
@ -75,12 +60,7 @@ class UriTest extends \PHPUnit_Framework_TestCase
$this->assertTrue(true);
}
/**
* @covers ::getAuthority
* @dataProvider authorityProvider
* @param string $expected
* @param array $components
*/
/** @dataProvider authorityProvider */
public function testConcatenatesAuthorityFromHostAndUserInfo($expected, $components)
{
$uri = new Uri();
@ -188,9 +168,6 @@ class UriTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// User Info
/**
* @covers ::getUserInfo
*/
public function testDefaultUserInfoIsEmpty()
{
$uri = new Uri();
@ -198,8 +175,6 @@ class UriTest extends \PHPUnit_Framework_TestCase
}
/**
* @covers ::getUserInfo
* @covers ::withUserInfo
* @dataProvider userInfoProvider
*
* @param string $expected The combined user:password value
@ -227,22 +202,13 @@ class UriTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// Host
/**
* @covers ::getHost
*/
public function testDefaultHostIsEmpty()
{
$uri = new Uri();
$this->assertSame("", $uri->getHost());
}
/**
* @covers ::getHost
* @covers ::withHost
* @dataProvider hostProvider
* @param $expected
* @param $host
*/
/** @dataProvider hostProvider */
public function testSetsHost($expected, $host)
{
$uri = new Uri();
@ -261,10 +227,8 @@ class UriTest extends \PHPUnit_Framework_TestCase
}
/**
* @covers ::withHost
* @expectedException \InvalidArgumentException
* @dataProvider invalidHostProvider
* @param $host
*/
public function testInvalidHostThrowsException($host)
{
@ -284,42 +248,25 @@ class UriTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// Port
/**
* @covers ::getPort
*/
public function testDefaultPortWithNoSchemeIsNull()
{
$uri = new Uri();
$this->assertNull($uri->getPort());
}
/**
* @covers ::getPort
*/
public function testDefaultPortForHttpSchemeIs80()
{
$uri = new Uri();
$this->assertSame(80, $uri->withScheme("http")->getPort());
}
/**
* @covers ::getPort
*/
public function testDefaultPortForHttpsSchemeIs443()
{
$uri = new Uri();
$this->assertSame(443, $uri->withScheme("https")->getPort());
}
/**
* @covers ::getPort
* @covers ::withPort
* @dataProvider portAndSchemeProvider
*
* @param int|null $expectedPort
* @param string $scheme
* @param int|null $port
*/
/** @dataProvider portAndSchemeProvider */
public function testReturnsPortWithSchemeDefaults($expectedPort, $scheme, $port)
{
$uri = new Uri();
@ -340,10 +287,8 @@ class UriTest extends \PHPUnit_Framework_TestCase
}
/**
* @covers ::withPort
* @expectedException \InvalidArgumentException
* @dataProvider invalidPortProvider
* @param int $port
*/
public function testInvalidPortThrowsException($port)
{
@ -364,23 +309,13 @@ class UriTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// Path
/**
* @covers ::getPath
*/
public function testDefaultPathIsEmpty()
{
$uri = new Uri();
$this->assertSame("", $uri->getPath());
}
/**
* @covers ::getPath
* @covers ::withPath
* @covers ::percentEncode
* @dataProvider pathProvider
* @param $expected
* @param $path
*/
/** @dataProvider pathProvider */
public function testSetsEncodedPath($expected, $path)
{
$uri = new Uri();
@ -388,14 +323,7 @@ class UriTest extends \PHPUnit_Framework_TestCase
$this->assertSame($expected, $uri->getPath());
}
/**
* @covers ::getPath
* @covers ::withPath
* @covers ::percentEncode
* @dataProvider pathProvider
* @param $expected
* @param $path
*/
/** @dataProvider pathProvider */
public function testDoesNotDoubleEncodePath($expected, $path)
{
$uri = new Uri();
@ -420,23 +348,13 @@ class UriTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// Query
/**
* @covers ::getQuery
*/
public function testDefaultQueryIsEmpty()
{
$uri = new Uri();
$this->assertSame("", $uri->getQuery());
}
/**
* @covers ::getQuery
* @covers ::withQuery
* @covers ::percentEncode
* @dataProvider queryProvider
* @param $expected
* @param $query
*/
/** @dataProvider queryProvider */
public function testSetsEncodedQuery($expected, $query)
{
$uri = new Uri();
@ -444,14 +362,7 @@ class UriTest extends \PHPUnit_Framework_TestCase
$this->assertSame($expected, $uri->getQuery());
}
/**
* @covers ::getQuery
* @covers ::withQuery
* @covers ::percentEncode
* @dataProvider queryProvider
* @param $expected
* @param $query
*/
/** @dataProvider queryProvider */
public function testDoesNotDoubleEncodeQuery($expected, $query)
{
$uri = new Uri();
@ -470,10 +381,8 @@ class UriTest extends \PHPUnit_Framework_TestCase
}
/**
* @covers ::withPath
* @expectedException \InvalidArgumentException
* @dataProvider invalidPathProvider
* @param $path
*/
public function testInvalidPathThrowsException($path)
{
@ -493,23 +402,13 @@ class UriTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// Fragment
/**
* @covers ::getFragment
*/
public function testDefaultFragmentIsEmpty()
{
$uri = new Uri();
$this->assertSame("", $uri->getFragment());
}
/**
* @covers ::getFragment
* @covers ::withFragment
* @covers ::percentEncode
* @dataProvider fragmentProvider
* @param $expected
* @param $fragment
*/
/** @dataProvider fragmentProvider */
public function testSetsEncodedFragment($expected, $fragment)
{
$uri = new Uri();
@ -517,14 +416,7 @@ class UriTest extends \PHPUnit_Framework_TestCase
$this->assertSame($expected, $uri->getFragment());
}
/**
* @covers ::getFragment
* @covers ::withFragment
* @covers ::percentEncode
* @dataProvider fragmentProvider
* @param $expected
* @param $fragment
*/
/** @dataProvider fragmentProvider */
public function testDoesNotDoubleEncodeFragment($expected, $fragment)
{
$uri = new Uri();
@ -545,12 +437,7 @@ class UriTest extends \PHPUnit_Framework_TestCase
// ------------------------------------------------------------------------
// Concatenation
/**
* @covers ::__toString
* @dataProvider componentProvider
* @param string $expected
* @param array $components
*/
/** @dataProvider componentProvider */
public function testConcatenatesComponents($expected, $components)
{
$uri = new Uri();
@ -653,11 +540,7 @@ class UriTest extends \PHPUnit_Framework_TestCase
];
}
/**
* @covers ::__construct()
* @covers ::__toString()
* @dataProvider stringUriProvider
*/
/** @dataProvider stringUriProvider */
public function testUriCreatedFromStringNormalizesString($expected, $input)
{
$uri = new Uri($input);