$request = new Request(); $request->host('www.example.com:8000'); expect($request->host())->toBe('www.example.com:8000'); expect($request->hostname())->toBe('www.example.com'); expect($request->port())->toBe('8000'); expect((string) $request->headers['Host'])->toBe('Host: www.example.com:8000'); }); }); describe("->scheme()", function () { it("gets the scheme", function () { $request = new Request(['scheme' => 'https']); expect($request->scheme())->toBe('https'); }); it("sets the scheme", function () { $request = new Request(); $request->scheme('https'); expect($request->scheme())->toBe('https'); }); }); describe("->port()", function () { it("gets the port", function () { $request = new Request(['port' => 8888]); expect($request->port())->toBe(8888); }); it("returns the default scheme port if port is `null`", function () { $request = new Request(['scheme' => 'https']); expect($request->port())->toBe(443); }); it("returns `80` for default scheme", function () { $request = new Request(); expect($request->port())->toBe(80);