expect($new->getHeaderLine('Vary'))->toBe('Accept-Encoding, Cookie, User-Agent'); }); }); describe("->withoutHeader()", function () { it("creates a new request with the provided protocol version", function () { $request = new Request(['headers' => ['Content-Type: text/html; charset=UTF-8']]); $new = $request->withoutHeader('Content-Type'); expect($request->hasHeader('Content-Type'))->toBe(true); expect($new)->not->toBe($request); expect($new->hasHeader('Content-Type'))->toBe(false); }); }); describe("->getBody()", function () { it("gets the stream body", function () { $request = new Request(['data' => 'Body Message']); $body = $request->getBody(); expect($body)->toBeAnInstanceOf(StreamInterface::class); expect((string) $body)->toBe('Body Message'); }); }); describe("->withBody()", function () { it("creates a new request with the provided stream", function () { $request = new Request(['data' => 'Body Message']); $stream = new Stream('New Message'); $new = $request->withBody($stream); expect($request->getBody()->toString())->toBe('Body Message'); expect($new)->not->toBe($request); expect((string) $new->getBody())->toBe('New Message'); }); }); });