/**
  * @param ServiceReference $service
  * @param array            $arguments
  * @return bool
  */
 public function isGranted(ServiceReference $service, array $arguments)
 {
     if ($this->tokenStorage->getToken() === null) {
         return true;
     }
     $authorizationExpression = $service->getAuthorizationExpression();
     if (empty($authorizationExpression)) {
         return true;
     }
     return $this->language->evaluate($authorizationExpression, $this->getVariables($arguments));
 }
 /**
  * @dataProvider provider
  */
 public function testIsAuthenticated($token, $expression, $result, array $roles = array())
 {
     $anonymousTokenClass = 'Symfony\\Component\\Security\\Core\\Authentication\\Token\\AnonymousToken';
     $rememberMeTokenClass = 'Symfony\\Component\\Security\\Core\\Authentication\\Token\\RememberMeToken';
     $expressionLanguage = new ExpressionLanguage();
     $trustResolver = new AuthenticationTrustResolver($anonymousTokenClass, $rememberMeTokenClass);
     $context = array();
     $context['trust_resolver'] = $trustResolver;
     $context['token'] = $token;
     $context['roles'] = $roles;
     $this->assertEquals($result, $expressionLanguage->evaluate($expression, $context));
 }