From f79839e4b72999a67d5503bbb8437547cab87236 Mon Sep 17 00:00:00 2001 From: Taylor Otwell Date: Thu, 15 Dec 2016 09:44:45 -0600 Subject: [PATCH] check for slash. fix test --- .../Foundation/Auth/Access/AuthorizesRequests.php | 2 +- tests/Foundation/FoundationAuthorizesRequestsTraitTest.php | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Illuminate/Foundation/Auth/Access/AuthorizesRequests.php b/src/Illuminate/Foundation/Auth/Access/AuthorizesRequests.php index 01dcf6fdb618..12f01938fa46 100644 --- a/src/Illuminate/Foundation/Auth/Access/AuthorizesRequests.php +++ b/src/Illuminate/Foundation/Auth/Access/AuthorizesRequests.php @@ -48,7 +48,7 @@ public function authorizeForUser($user, $ability, $arguments = []) */ protected function parseAbilityAndArguments($ability, $arguments) { - if (is_string($ability) && (! class_exists($ability))) { + if (is_string($ability) && strpos($ability, '\\') === false) { return [$ability, $arguments]; } diff --git a/tests/Foundation/FoundationAuthorizesRequestsTraitTest.php b/tests/Foundation/FoundationAuthorizesRequestsTraitTest.php index cad0eeed1e8d..eb97aed609be 100644 --- a/tests/Foundation/FoundationAuthorizesRequestsTraitTest.php +++ b/tests/Foundation/FoundationAuthorizesRequestsTraitTest.php @@ -68,15 +68,18 @@ public function test_policy_method_may_be_guessed_passing_model_instance() $this->assertTrue($_SERVER['_test.authorizes.trait.policy']); } + /** + * @group something + */ public function test_policy_method_may_be_guessed_passing_class_name() { unset($_SERVER['_test.authorizes.trait.policy']); $gate = $this->getBasicGate(); - $gate->policy(FoundationAuthorizesRequestTestClass::class, FoundationAuthorizesRequestTestPolicy::class); + $gate->policy('\\'.FoundationAuthorizesRequestTestClass::class, FoundationAuthorizesRequestTestPolicy::class); - $response = (new FoundationTestAuthorizeTraitClass)->authorize(FoundationAuthorizesRequestTestClass::class); + $response = (new FoundationTestAuthorizeTraitClass)->authorize('\\'.FoundationAuthorizesRequestTestClass::class); $this->assertInstanceOf(Response::class, $response); $this->assertTrue($_SERVER['_test.authorizes.trait.policy']);