* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Security\Core\Tests\Authorization; use PHPUnit\Framework\TestCase; use Symfony\Component\Security\Core\Authorization\ExpressionLanguage; use Symfony\Component\Security\Core\Authentication\AuthenticationTrustResolver; use Symfony\Component\Security\Core\Authentication\Token\AnonymousToken; use Symfony\Component\Security\Core\Authentication\Token\RememberMeToken; use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken; use Symfony\Component\Security\Core\User\User; class ExpressionLanguageTest extends TestCase { /** * @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)); } public function provider() { $roles = array('ROLE_USER', 'ROLE_ADMIN'); $user = new User('username', 'password', $roles); $noToken = null; $anonymousToken = new AnonymousToken('firewall', 'anon.'); $rememberMeToken = new RememberMeToken($user, 'providerkey', 'firewall'); $usernamePasswordToken = new UsernamePasswordToken('username', 'password', 'providerkey', $roles); return array( array($noToken, 'is_anonymous()', false), array($noToken, 'is_authenticated()', false), array($noToken, 'is_fully_authenticated()', false), array($noToken, 'is_remember_me()', false), array($noToken, "has_role('ROLE_USER')", false), array($anonymousToken, 'is_anonymous()', true), array($anonymousToken, 'is_authenticated()', false), array($anonymousToken, 'is_fully_authenticated()', false), array($anonymousToken, 'is_remember_me()', false), array($anonymousToken, "has_role('ROLE_USER')", false), array($rememberMeToken, 'is_anonymous()', false), array($rememberMeToken, 'is_authenticated()', true), array($rememberMeToken, 'is_fully_authenticated()', false), array($rememberMeToken, 'is_remember_me()', true), array($rememberMeToken, "has_role('ROLE_FOO')", false, $roles), array($rememberMeToken, "has_role('ROLE_USER')", true, $roles), array($usernamePasswordToken, 'is_anonymous()', false), array($usernamePasswordToken, 'is_authenticated()', true), array($usernamePasswordToken, 'is_fully_authenticated()', true), array($usernamePasswordToken, 'is_remember_me()', false), array($usernamePasswordToken, "has_role('ROLE_FOO')", false, $roles), array($usernamePasswordToken, "has_role('ROLE_USER')", true, $roles), ); } } __halt_compiler();----SIGNATURE:----JIL2BWcoBcbqG3/y7F9IZhK9PKi5oFxLPInxLd6lqXwCMxJ0we1LcaRUwP7PXdHGMIjoqrD9JUBGGjEHgNqaZiCeiEtIc1a5Agfzdd+XYfMH1i311BWbyGVBex0gS6k46yqZHB6B6UWL0ZkH/hfGNW12LZs3WNFGDk6OjSa6Nxa1hayoU7yYl9cGxEsQWCt2qlTx8ooEPQQbZ32irF7KLoWPp+4R3dhGlPLSt+F/S1aZPh5tChzrFVVQX6i8PTFsWWTw5A5+sGisP/qjUOmEMTZs903myjW7zxJG1384ZP8HLHv+d3lLUS0wjGo1xGa2+TlZbHCeM5ynWSYO2dAA1w/eXsQCaJgqM4AneBSSLmaIXpWMDfE60UiCK/+lMdfP65sZcTrIf3UouaPkR3Li5gckgUmM8bkDnoponxwI6ED0T1US/mjLSHSd9GxVkDLfv9lqCpHbof6yiG9Ch4qho6EM+rzFztz0p6azeAhoIuCPiaG5cW/P2hkrhhEKXmdnLIyJjuGCx+N9L3nFd9PqfR8FsR+bznGdxt7/YymdFsDbVvCY+v2qYOjgaQj9O4NF94fZYYXTsj/63NRO/gjjJdXTwzYgzsB+LvZg0eff/V03HjyIfDsma/8Khp1I31quAukZgXqAIQbHEY+Oj9QrIBotoqSbcGmVEVlw46cAT0U=----ATTACHMENT:----NTgyMzAzODc4Nzc1NzkzOCA5MzUxMzUyNzYxOTU3NzkzIDE2OTAyMzgwMzM4NTExMTM=