Skip to content

Commit 66711fa

Browse files
minor #48793 Leverage arrow function syntax for closure (tigitz)
This PR was merged into the 6.3 branch. Discussion ---------- Leverage arrow function syntax for closure | Q | A | ------------- | --- | Branch? | 6.3 | Bug fix? | no | New feature? | no <!-- please update src/**/CHANGELOG.md files --> | Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files --> | Tickets | Fix #47658 <!-- prefix each issue number with "Fix #", no need to create an issue if none exists, explain below instead --> | License | MIT | Doc PR | <!-- required for new features --> Rationale in the RFC [here](https://wiki.php.net/rfc/arrow_functions_v2#introduction) It's also notable that using arrow function syntax rather than the classic one has been enforced in the past by symfony core member: symfony/symfony#48069 (comment) So this PR would be consistent. Commits ------- f5802d3a2a Leverage arrow function syntax for closure
2 parents 9c944bf + 1d084b8 commit 66711fa

17 files changed

+60
-80
lines changed

Authentication/AuthenticatorManager.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ public function __construct(iterable $authenticators, TokenStorageInterface $tok
7676
public function authenticateUser(UserInterface $user, AuthenticatorInterface $authenticator, Request $request, array $badges = []): ?Response
7777
{
7878
// create an authentication token for the User
79-
$passport = new SelfValidatingPassport(new UserBadge($user->getUserIdentifier(), function () use ($user) { return $user; }), $badges);
79+
$passport = new SelfValidatingPassport(new UserBadge($user->getUserIdentifier(), fn () => $user), $badges);
8080
$token = $authenticator->createToken($passport, $this->firewallName);
8181

8282
// announce the authentication token

Authenticator/RememberMeAuthenticator.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,7 @@ public function authenticate(Request $request): Passport
8787

8888
$rememberMeCookie = RememberMeDetails::fromRawCookie($rawCookie);
8989

90-
$userBadge = new UserBadge($rememberMeCookie->getUserIdentifier(), function () use ($rememberMeCookie) {
91-
return $this->rememberMeHandler->consumeRememberMeCookie($rememberMeCookie);
92-
});
90+
$userBadge = new UserBadge($rememberMeCookie->getUserIdentifier(), fn () => $this->rememberMeHandler->consumeRememberMeCookie($rememberMeCookie));
9391

9492
return new SelfValidatingPassport($userBadge);
9593
}

Tests/Authentication/AuthenticatorManagerTest.php

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ public function testAuthenticateRequest($matchingAuthenticatorIndex)
101101

102102
$authenticators[($matchingAuthenticatorIndex + 1) % 2]->expects($this->never())->method('authenticate');
103103

104-
$matchingAuthenticator->expects($this->any())->method('authenticate')->willReturn(new SelfValidatingPassport(new UserBadge('wouter', function () { return $this->user; })));
104+
$matchingAuthenticator->expects($this->any())->method('authenticate')->willReturn(new SelfValidatingPassport(new UserBadge('wouter', fn () => $this->user)));
105105

106106
$listenerCalled = false;
107107
$this->eventDispatcher->addListener(CheckPassportEvent::class, function (CheckPassportEvent $event) use (&$listenerCalled, $matchingAuthenticator) {
@@ -129,7 +129,7 @@ public function testNoCredentialsValidated()
129129
$authenticator = $this->createAuthenticator();
130130
$this->request->attributes->set('_security_authenticators', [$authenticator]);
131131

132-
$authenticator->expects($this->any())->method('authenticate')->willReturn(new Passport(new UserBadge('wouter', function () { return $this->user; }), new PasswordCredentials('pass')));
132+
$authenticator->expects($this->any())->method('authenticate')->willReturn(new Passport(new UserBadge('wouter', fn () => $this->user), new PasswordCredentials('pass')));
133133

134134
$authenticator->expects($this->once())
135135
->method('onAuthenticationFailure')
@@ -146,9 +146,7 @@ public function testRequiredBadgeMissing()
146146

147147
$authenticator->expects($this->any())->method('authenticate')->willReturn(new SelfValidatingPassport(new UserBadge('wouter')));
148148

149-
$authenticator->expects($this->once())->method('onAuthenticationFailure')->with($this->anything(), $this->callback(function ($exception) {
150-
return 'Authentication failed; Some badges marked as required by the firewall config are not available on the passport: "'.CsrfTokenBadge::class.'".' === $exception->getMessage();
151-
}));
149+
$authenticator->expects($this->once())->method('onAuthenticationFailure')->with($this->anything(), $this->callback(fn ($exception) => 'Authentication failed; Some badges marked as required by the firewall config are not available on the passport: "'.CsrfTokenBadge::class.'".' === $exception->getMessage()));
152150

153151
$manager = $this->createManager([$authenticator], 'main', true, [CsrfTokenBadge::class]);
154152
$manager->authenticateRequest($this->request);
@@ -178,7 +176,7 @@ public function testEraseCredentials($eraseCredentials)
178176
$authenticator = $this->createAuthenticator();
179177
$this->request->attributes->set('_security_authenticators', [$authenticator]);
180178

181-
$authenticator->expects($this->any())->method('authenticate')->willReturn(new SelfValidatingPassport(new UserBadge('wouter', function () { return $this->user; })));
179+
$authenticator->expects($this->any())->method('authenticate')->willReturn(new SelfValidatingPassport(new UserBadge('wouter', fn () => $this->user)));
182180

183181
$authenticator->expects($this->any())->method('createToken')->willReturn($this->token);
184182

@@ -199,7 +197,7 @@ public function testAuthenticateRequestCanModifyTokenFromEvent()
199197
$authenticator = $this->createAuthenticator();
200198
$this->request->attributes->set('_security_authenticators', [$authenticator]);
201199

202-
$authenticator->expects($this->any())->method('authenticate')->willReturn(new SelfValidatingPassport(new UserBadge('wouter', function () { return $this->user; })));
200+
$authenticator->expects($this->any())->method('authenticate')->willReturn(new SelfValidatingPassport(new UserBadge('wouter', fn () => $this->user)));
203201

204202
$authenticator->expects($this->any())->method('createToken')->willReturn($this->token);
205203

@@ -257,7 +255,7 @@ public function testInteractiveAuthenticator()
257255
$authenticator->expects($this->any())->method('isInteractive')->willReturn(true);
258256
$this->request->attributes->set('_security_authenticators', [$authenticator]);
259257

260-
$authenticator->expects($this->any())->method('authenticate')->willReturn(new SelfValidatingPassport(new UserBadge('wouter', function () { return $this->user; })));
258+
$authenticator->expects($this->any())->method('authenticate')->willReturn(new SelfValidatingPassport(new UserBadge('wouter', fn () => $this->user)));
261259
$authenticator->expects($this->any())->method('createToken')->willReturn($this->token);
262260

263261
$this->tokenStorage->expects($this->once())->method('setToken')->with($this->token);
@@ -278,7 +276,7 @@ public function testLegacyInteractiveAuthenticator()
278276
$authenticator->expects($this->any())->method('isInteractive')->willReturn(true);
279277
$this->request->attributes->set('_security_authenticators', [$authenticator]);
280278

281-
$authenticator->expects($this->any())->method('authenticate')->willReturn(new SelfValidatingPassport(new UserBadge('wouter', function () { return $this->user; })));
279+
$authenticator->expects($this->any())->method('authenticate')->willReturn(new SelfValidatingPassport(new UserBadge('wouter', fn () => $this->user)));
282280
$authenticator->expects($this->any())->method('createToken')->willReturn($this->token);
283281

284282
$this->tokenStorage->expects($this->once())->method('setToken')->with($this->token);
@@ -303,9 +301,7 @@ public function testAuthenticateRequestHidesInvalidUserExceptions()
303301

304302
$authenticator->expects($this->any())
305303
->method('onAuthenticationFailure')
306-
->with($this->equalTo($this->request), $this->callback(function ($e) use ($invalidUserException) {
307-
return $e instanceof BadCredentialsException && $invalidUserException === $e->getPrevious();
308-
}))
304+
->with($this->equalTo($this->request), $this->callback(fn ($e) => $e instanceof BadCredentialsException && $invalidUserException === $e->getPrevious()))
309305
->willReturn($this->response);
310306

311307
$manager = $this->createManager([$authenticator]);
@@ -319,7 +315,7 @@ public function testLogsUseTheDecoratedAuthenticatorWhenItIsTraceable()
319315
$authenticator->expects($this->any())->method('isInteractive')->willReturn(true);
320316
$this->request->attributes->set('_security_authenticators', [new TraceableAuthenticator($authenticator)]);
321317

322-
$authenticator->expects($this->any())->method('authenticate')->willReturn(new SelfValidatingPassport(new UserBadge('wouter', function () { return $this->user; })));
318+
$authenticator->expects($this->any())->method('authenticate')->willReturn(new SelfValidatingPassport(new UserBadge('wouter', fn () => $this->user)));
323319
$authenticator->expects($this->any())->method('createToken')->willReturn($this->token);
324320

325321
$this->tokenStorage->expects($this->once())->method('setToken')->with($this->token);

Tests/Authenticator/AbstractAuthenticatorTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public function testCreateToken()
3030
$authenticator = new ConcreteAuthenticator();
3131
$this->assertInstanceOf(
3232
PostAuthenticationToken::class,
33-
$authenticator->createToken(new SelfValidatingPassport(new UserBadge('dummy', function () { return new InMemoryUser('robin', 'hood'); })), 'dummy')
33+
$authenticator->createToken(new SelfValidatingPassport(new UserBadge('dummy', fn () => new InMemoryUser('robin', 'hood'))), 'dummy')
3434
);
3535
}
3636
}

Tests/Authenticator/Passport/Badge/UserBadgeTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class UserBadgeTest extends TestCase
1919
{
2020
public function testUserNotFound()
2121
{
22-
$badge = new UserBadge('dummy', function () { return null; });
22+
$badge = new UserBadge('dummy', fn () => null);
2323
$this->expectException(UserNotFoundException::class);
2424
$badge->getUser();
2525
}

Tests/Authenticator/RememberMeAuthenticatorTest.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,7 @@ public function testAuthenticate()
6969
$request = Request::create('/', 'GET', [], ['_remember_me_cookie' => $rememberMeDetails->toString()]);
7070
$passport = $this->authenticator->authenticate($request);
7171

72-
$this->rememberMeHandler->expects($this->once())->method('consumeRememberMeCookie')->with($this->callback(function ($arg) use ($rememberMeDetails) {
73-
return $rememberMeDetails == $arg;
74-
}));
72+
$this->rememberMeHandler->expects($this->once())->method('consumeRememberMeCookie')->with($this->callback(fn ($arg) => $rememberMeDetails == $arg));
7573
$passport->getUser(); // trigger the user loader
7674
}
7775

Tests/EventListener/CheckCredentialsListenerTest.php

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public function testPasswordAuthenticated($password, $passwordValid, $result)
5555
}
5656

5757
$credentials = new PasswordCredentials($password);
58-
$this->listener->checkPassport($this->createEvent(new Passport(new UserBadge('wouter', function () { return $this->user; }), $credentials)));
58+
$this->listener->checkPassport($this->createEvent(new Passport(new UserBadge('wouter', fn () => $this->user), $credentials)));
5959

6060
if (true === $result) {
6161
$this->assertTrue($credentials->isResolved());
@@ -75,7 +75,7 @@ public function testEmptyPassword()
7575

7676
$this->hasherFactory->expects($this->never())->method('getPasswordHasher');
7777

78-
$event = $this->createEvent(new Passport(new UserBadge('wouter', function () { return $this->user; }), new PasswordCredentials('')));
78+
$event = $this->createEvent(new Passport(new UserBadge('wouter', fn () => $this->user), new PasswordCredentials('')));
7979
$this->listener->checkPassport($event);
8080
}
8181

@@ -90,10 +90,8 @@ public function testCustomAuthenticated($result)
9090
$this->expectException(BadCredentialsException::class);
9191
}
9292

93-
$credentials = new CustomCredentials(function () use ($result) {
94-
return $result;
95-
}, ['password' => 'foo']);
96-
$this->listener->checkPassport($this->createEvent(new Passport(new UserBadge('wouter', function () { return $this->user; }), $credentials)));
93+
$credentials = new CustomCredentials(fn () => $result, ['password' => 'foo']);
94+
$this->listener->checkPassport($this->createEvent(new Passport(new UserBadge('wouter', fn () => $this->user), $credentials)));
9795

9896
if (true === $result) {
9997
$this->assertTrue($credentials->isResolved());
@@ -110,7 +108,7 @@ public function testNoCredentialsBadgeProvided()
110108
{
111109
$this->hasherFactory->expects($this->never())->method('getPasswordHasher');
112110

113-
$event = $this->createEvent(new SelfValidatingPassport(new UserBadge('wouter', function () { return $this->user; })));
111+
$event = $this->createEvent(new SelfValidatingPassport(new UserBadge('wouter', fn () => $this->user)));
114112
$this->listener->checkPassport($event);
115113
}
116114

@@ -121,7 +119,7 @@ public function testAddsPasswordUpgradeBadge()
121119

122120
$this->hasherFactory->expects($this->any())->method('getPasswordHasher')->with($this->identicalTo($this->user))->willReturn($hasher);
123121

124-
$passport = new Passport(new UserBadge('wouter', function () { return $this->user; }), new PasswordCredentials('ThePa$$word'));
122+
$passport = new Passport(new UserBadge('wouter', fn () => $this->user), new PasswordCredentials('ThePa$$word'));
125123
$this->listener->checkPassport($this->createEvent($passport));
126124

127125
$this->assertTrue($passport->hasBadge(PasswordUpgradeBadge::class));
@@ -137,7 +135,7 @@ public function testAddsNoPasswordUpgradeBadgeIfItAlreadyExists()
137135

138136
$passport = $this->getMockBuilder(Passport::class)
139137
->setMethods(['addBadge'])
140-
->setConstructorArgs([new UserBadge('wouter', function () { return $this->user; }), new PasswordCredentials('ThePa$$word'), [new PasswordUpgradeBadge('ThePa$$word')]])
138+
->setConstructorArgs([new UserBadge('wouter', fn () => $this->user), new PasswordCredentials('ThePa$$word'), [new PasswordUpgradeBadge('ThePa$$word')]])
141139
->getMock();
142140

143141
$passport->expects($this->never())->method('addBadge')->with($this->isInstanceOf(PasswordUpgradeBadge::class));
@@ -154,7 +152,7 @@ public function testAddsNoPasswordUpgradeBadgeIfPasswordIsInvalid()
154152

155153
$passport = $this->getMockBuilder(Passport::class)
156154
->setMethods(['addBadge'])
157-
->setConstructorArgs([new UserBadge('wouter', function () { return $this->user; }), new PasswordCredentials('ThePa$$word'), [new PasswordUpgradeBadge('ThePa$$word')]])
155+
->setConstructorArgs([new UserBadge('wouter', fn () => $this->user), new PasswordCredentials('ThePa$$word'), [new PasswordUpgradeBadge('ThePa$$word')]])
158156
->getMock();
159157

160158
$passport->expects($this->never())->method('addBadge')->with($this->isInstanceOf(PasswordUpgradeBadge::class));

Tests/EventListener/CheckRememberMeConditionsListenerTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,6 @@ private function createLoginSuccessfulEvent(Passport $passport)
9696

9797
private function createPassport(array $badges = null)
9898
{
99-
return new SelfValidatingPassport(new UserBadge('test', function ($username) { return new InMemoryUser($username, null); }), $badges ?? [new RememberMeBadge()]);
99+
return new SelfValidatingPassport(new UserBadge('test', fn ($username) => new InMemoryUser($username, null)), $badges ?? [new RememberMeBadge()]);
100100
}
101101
}

Tests/EventListener/CsrfProtectionListenerTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ private function createEvent($passport)
7676

7777
private function createPassport(?CsrfTokenBadge $badge)
7878
{
79-
$passport = new SelfValidatingPassport(new UserBadge('wouter', function ($username) { return new InMemoryUser($username, 'pass'); }));
79+
$passport = new SelfValidatingPassport(new UserBadge('wouter', fn ($username) => new InMemoryUser($username, 'pass')));
8080
if ($badge) {
8181
$passport->addBadge($badge);
8282
}

Tests/EventListener/PasswordMigratingListenerTest.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,10 @@ public function testUnsupportedEvents($event)
6060
public function provideUnsupportedEvents()
6161
{
6262
// no password upgrade badge
63-
yield [$this->createEvent(new SelfValidatingPassport(new UserBadge('test', function () { return $this->createMock(UserInterface::class); })))];
63+
yield [$this->createEvent(new SelfValidatingPassport(new UserBadge('test', fn () => $this->createMock(UserInterface::class))))];
6464

6565
// blank password
66-
yield [$this->createEvent(new SelfValidatingPassport(new UserBadge('test', function () { return $this->createMock(TestPasswordAuthenticatedUser::class); }), [new PasswordUpgradeBadge('', $this->createPasswordUpgrader())]))];
66+
yield [$this->createEvent(new SelfValidatingPassport(new UserBadge('test', fn () => $this->createMock(TestPasswordAuthenticatedUser::class)), [new PasswordUpgradeBadge('', $this->createPasswordUpgrader())]))];
6767
}
6868

6969
public function testUpgradeWithUpgrader()
@@ -74,7 +74,7 @@ public function testUpgradeWithUpgrader()
7474
->with($this->user, 'new-hash')
7575
;
7676

77-
$event = $this->createEvent(new SelfValidatingPassport(new UserBadge('test', function () { return $this->user; }), [new PasswordUpgradeBadge('pa$$word', $passwordUpgrader)]));
77+
$event = $this->createEvent(new SelfValidatingPassport(new UserBadge('test', fn () => $this->user), [new PasswordUpgradeBadge('pa$$word', $passwordUpgrader)]));
7878
$this->listener->onLoginSuccess($event);
7979
}
8080

@@ -101,7 +101,7 @@ public function testUserWithoutPassword()
101101

102102
$this->hasherFactory->expects($this->never())->method('getPasswordHasher');
103103

104-
$event = $this->createEvent(new SelfValidatingPassport(new UserBadge('test', function () { return $this->user; }), [new PasswordUpgradeBadge('pa$$word')]));
104+
$event = $this->createEvent(new SelfValidatingPassport(new UserBadge('test', fn () => $this->user), [new PasswordUpgradeBadge('pa$$word')]));
105105
$this->listener->onLoginSuccess($event);
106106
}
107107

0 commit comments

Comments
 (0)