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); }