public function testConstructorCanAcceptAllMessageParts() { $uri = new Uri('http://example.com/'); $body = new Stream('php://memory'); $headers = ['x-foo' => ['bar']]; $request = new Request($uri, 'POST', $body, $headers); $this->assertSame($uri, $request->getUri()); $this->assertEquals('POST', $request->getMethod()); $this->assertSame($body, $request->getBody()); $testHeaders = $request->getHeaders(); foreach ($headers as $key => $value) { $this->assertArrayHasKey($key, $testHeaders); $this->assertEquals($value, $testHeaders[$key]); } }