}); it("extracts username & password from Basic authorization", function () { $request = new Request(['env' => ['HTTP_AUTHORIZATION' => 'Basic d2lsbHk6YWJjZGVm']]); expect($request->username())->toBe('willy'); expect($request->password())->toBe('abcdef'); expect($request->headers['Authorization']->value())->toBe('Basic d2lsbHk6YWJjZGVm'); }); it("extracts username from Digest authorization", function () { $digest = 'Digest qop="auth", nonce="4bca0fbca7bd0", '; $digest .= 'nc=00000001, cnonce="95b2cd1e179bf5414e52ed62811481cf", '; $digest .= 'uri="/http_auth", realm="app", '; $digest .= 'opaque="d3fb67a7aa4d887ec4bf83040a820a46", username="******", '; $digest .= 'response="04d7d878c67f289f37e553d2025e3a52"'; $request = new Request(['env' => ['HTTP_AUTHORIZATION' => $digest]]); expect($request->username())->toBe('willy'); expect($request->password())->toBe(null); expect($request->headers['Authorization']->value())->toBe($digest); }); it("applies the ignore pattern to the base path", function () { $request = new Request(['basePath' => '/base/path/webroot/index.php', 'ignorePath' => '~/webroot/index.php$~']); expect($request->basePath())->toBe('/base/path'); }); }); describe("->is()", function () { it("checks ssl", function () { $request = new Request(['env' => ['HTTPS' => 'off']]); expect($request->is('ssl'))->toBe(false); $request = new Request(['env' => ['HTTPS' => 'on']]); expect($request->is('ssl'))->toBe(true); $request = new Request(['env' => ['HTTPS' => null]]); expect($request->is('ssl'))->toBe(false);