14
14
use PHPUnit \Framework \TestCase ;
15
15
use Symfony \Bundle \SecurityBundle \CacheWarmer \ExpressionCacheWarmer ;
16
16
use Symfony \Component \ExpressionLanguage \Expression ;
17
+ use Symfony \Component \ExpressionLanguage \ParsedExpression ;
17
18
use Symfony \Component \Security \Core \Authorization \ExpressionLanguage ;
18
19
19
20
class ExpressionCacheWarmerTest extends TestCase
@@ -22,13 +23,21 @@ public function testWarmUp()
22
23
{
23
24
$ expressions = [new Expression ('A ' ), new Expression ('B ' )];
24
25
26
+ $ series = [
27
+ [$ expressions [0 ], ['token ' , 'user ' , 'object ' , 'subject ' , 'role_names ' , 'request ' , 'trust_resolver ' ]],
28
+ [$ expressions [1 ], ['token ' , 'user ' , 'object ' , 'subject ' , 'role_names ' , 'request ' , 'trust_resolver ' ]],
29
+ ];
30
+
25
31
$ expressionLang = $ this ->createMock (ExpressionLanguage::class);
26
32
$ expressionLang ->expects ($ this ->exactly (2 ))
27
33
->method ('parse ' )
28
- ->withConsecutive (
29
- [$ expressions [0 ], ['token ' , 'user ' , 'object ' , 'subject ' , 'role_names ' , 'request ' , 'trust_resolver ' ]],
30
- [$ expressions [1 ], ['token ' , 'user ' , 'object ' , 'subject ' , 'role_names ' , 'request ' , 'trust_resolver ' ]]
31
- );
34
+ ->willReturnCallback (function (...$ args ) use (&$ series ) {
35
+ $ expectedArgs = array_shift ($ series );
36
+ $ this ->assertSame ($ expectedArgs , $ args );
37
+
38
+ return $ this ->createMock (ParsedExpression::class);
39
+ })
40
+ ;
32
41
33
42
(new ExpressionCacheWarmer ($ expressions , $ expressionLang ))->warmUp ('' );
34
43
}
0 commit comments