public function testDecoratorProxiesToAllMethods() { $stream = $this->getMock('Psr\\Http\\Message\\StreamInterface'); $psrRequest = new PsrRequest([], [], 'http://example.com', 'POST', $stream, ['Accept' => 'application/xml', 'X-URL' => 'http://example.com/foo']); $request = new Request($psrRequest); $this->assertEquals('1.1', $request->getProtocolVersion()); $this->assertSame($stream, $request->getBody()); $this->assertSame($psrRequest->getHeaders(), $request->getHeaders()); $this->assertEquals($psrRequest->getRequestTarget(), $request->getRequestTarget()); }
public function testUsesProvidedConstructorArguments() { $server = ['foo' => 'bar', 'baz' => 'bat']; $server['server'] = true; $files = ['files' => new UploadedFile('php://temp', 0, 0)]; $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->getUploadedFiles()); $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); }