%PDF- %GIF98; %PNG;
Server : ApacheSystem : Linux sh00666.bluehost.com 5.14.0-687.26.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Jul 14 16:32:02 EDT 2026 x86_64 User : ndkhermy ( 1200) PHP Version : 8.5.12 Disable Function : NONE Directory : /home1/ndkhermy/public_html/website_6ca89795/vendor/phly/http/test/ |
Upload File : |
<?php
namespace PhlyTest\Http;
use Phly\Http\ServerRequest;
use Phly\Http\Uri;
use PHPUnit_Framework_TestCase as TestCase;
use ReflectionProperty;
class ServerRequestTest extends TestCase
{
public function setUp()
{
$this->request = new ServerRequest();
}
public function testServerParamsAreEmptyByDefault()
{
$this->assertEmpty($this->request->getServerParams());
}
public function testQueryParamsAreEmptyByDefault()
{
$this->assertEmpty($this->request->getQueryParams());
}
public function testQueryParamsMutatorReturnsCloneWithChanges()
{
$value = ['foo' => 'bar'];
$request = $this->request->withQueryParams($value);
$this->assertNotSame($this->request, $request);
$this->assertEquals($value, $request->getQueryParams());
}
public function testCookiesAreEmptyByDefault()
{
$this->assertEmpty($this->request->getCookieParams());
}
public function testCookiesMutatorReturnsCloneWithChanges()
{
$value = ['foo' => 'bar'];
$request = $this->request->withCookieParams($value);
$this->assertNotSame($this->request, $request);
$this->assertEquals($value, $request->getCookieParams());
}
public function testFileParamsAreEmptyByDefault()
{
$this->assertEmpty($this->request->getFileParams());
}
public function testParsedBodyIsEmptyByDefault()
{
$this->assertEmpty($this->request->getParsedBody());
}
public function testParsedBodyMutatorReturnsCloneWithChanges()
{
$value = ['foo' => 'bar'];
$request = $this->request->withParsedBody($value);
$this->assertNotSame($this->request, $request);
$this->assertEquals($value, $request->getParsedBody());
}
public function testAttributesAreEmptyByDefault()
{
$this->assertEmpty($this->request->getAttributes());
}
/**
* @depends testAttributesAreEmptyByDefault
*/
public function testAttributeMutatorReturnsCloneWithChanges()
{
$request = $this->request->withAttribute('foo', 'bar');
$this->assertNotSame($this->request, $request);
$this->assertEquals('bar', $request->getAttribute('foo'));
return $request;
}
/**
* @depends testAttributeMutatorReturnsCloneWithChanges
*/
public function testRemovingAttributeReturnsCloneWithoutAttribute($request)
{
$new = $request->withoutAttribute('foo');
$this->assertNotSame($request, $new);
$this->assertNull($new->getAttribute('foo', null));
}
public function testUsesProvidedConstructorArguments()
{
$server = $files = [
'foo' => 'bar',
'baz' => 'bat',
];
$server['server'] = true;
$files['files'] = true;
$uri = new Uri('http://example.com');
$method = 'POST';
$headers = [
'host' => ['example.com'],
];
$request = new ServerRequest(
$server,
$files,
$uri,
$method,
'php://memory',
$headers
);
$this->assertEquals($server, $request->getServerParams());
$this->assertEquals($files, $request->getFileParams());
$this->assertSame($uri, $request->getUri());
$this->assertEquals($method, $request->getMethod());
$this->assertEquals($headers, $request->getHeaders());
$body = $request->getBody();
$r = new ReflectionProperty($body, 'stream');
$r->setAccessible(true);
$stream = $r->getValue($body);
$this->assertEquals('php://memory', $stream);
}
}