$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']); }); }); describe("->getHeaderLine()", function () { it("gets an header", function () { $request = new Request(['headers' => ['Content-Type: text/html; charset=UTF-8'], 'data' => 'Body Message']); expect($request->getHeaderLine('Content-Type'))->toBe('text/html; charset=UTF-8'); expect($request->getHeaderLine('CONTENT-TYPE'))->toBe('text/html; charset=UTF-8'); }); }); describe("->withHeader()", function () { it("creates a new request with the provided protocol version", function () { $request = new Request(); $new = $request->withHeader('Content-Type', 'application/json'); expect($request->getHeaderLine('Content-Type'))->toBe('');