}); it("creates a new request with the provided request target authority", function () { $request = new Request(); $new = $request->withRequestTarget('username:password@www.domain.com:8000'); expect($new)->not->toBe($request); expect($new->getRequestTarget())->toBe('username:password@www.domain.com:8000'); }); it("creates a new request with the provided request target asterisk", function () { $request = new Request(); $new = $request->withRequestTarget('*'); expect($new)->not->toBe($request); expect($new->getRequestTarget())->toBe('*'); }); it("creates a new request with the provided request target origin", function () { $request = new Request(); $new = $request->withRequestTarget('/index.php?foo=bar#baz'); expect($new)->not->toBe($request); expect($new->getRequestTarget())->toBe('/index.php?foo=bar#baz'); }); }); describe("->getUri()", function () { it("returns the request URI", function () { $request = Request::parseUrl('https://*****:*****@www.domain.com:8000/foo?bar=baz#quz'); $uri = $request->getUri(); expect($uri)->toBeAnInstanceOf('Psr\\Http\\Message\\UriInterface'); expect((string) $uri)->toBe('https://*****:*****@www.domain.com:8000/foo?bar=baz#quz'); }); }); describe("->withUri()", function () { it("creates a new request with the provided URI", function () { $request = new Request();