}); }); describe("->withProtocolVersion()", function () { it("creates a new request with the provided protocol version", function () { $request = new Request(); $new = $request->withProtocolVersion('2.0'); expect($request->getProtocolVersion())->toBe('1.1'); expect($new)->not->toBe($request); expect($new->getProtocolVersion())->toBe('2.0'); }); }); describe("->getHeaders()", function () { it("returns headers", function () { $headers = ['Date: Thu, 25 Dec 2014 00:00:00 GMT', 'Content-Type: text/html; charset=UTF-8', 'Vary: Accept-Encoding, Cookie, User-Agent']; $request = new Request(['headers' => $headers, 'data' => 'Body Message']); expect($request->getHeaders())->toEqual(['Host' => ['localhost'], 'Connection' => ['Close'], 'User-Agent' => ['Mozilla/5.0'], 'Date' => ['Thu', '25 Dec 2014 00:00:00 GMT'], 'Content-Type' => ['text/html; charset=UTF-8'], 'Vary' => ['Accept-Encoding', 'Cookie', 'User-Agent']]); }); }); describe("->hasHeader()", function () { it("checks existing headers", function () { $request = new Request(['headers' => ['Content-Type: text/html; charset=UTF-8'], 'data' => 'Body Message']); expect($request->hasHeader('Content-Type'))->toBe(true); expect($request->hasHeader('CONTENT-TYPE'))->toBe(true); expect($request->hasHeader('Date'))->toBe(false); }); }); describe("->getHeader()", function () { it("gets an header", function () { $request = new Request(['headers' => ['Content-Type: text/html; charset=UTF-8'], 'data' => 'Body Message']); expect($request->getHeader('Content-Type'))->toBe(['text/html; charset=UTF-8']); expect($request->getHeader('CONTENT-TYPE'))->toBe(['text/html; charset=UTF-8']);