public function testAclWildcardAllowDeny()
{
$this->specify('Acl\\Role added twice by key returns true', function () {
$acl = new Memory();
$acl->setDefaultAction(Acl::DENY);
$aclRoles = ['Admin' => new Role('Admin'), 'Users' => new Role('Users'), 'Guests' => new Role('Guests')];
$aclResources = ['welcome' => ['index', 'about'], 'account' => ['index']];
foreach ($aclRoles as $role => $object) {
$acl->addRole($object);
}
foreach ($aclResources as $resource => $actions) {
$acl->addResource(new Resource($resource), $actions);
}
$acl->allow("*", "welcome", "index");
foreach ($aclRoles as $role => $object) {
expect($acl->isAllowed($role, 'welcome', 'index'))->true();
}
$acl->deny("*", "welcome", "index");
foreach ($aclRoles as $role => $object) {
expect($acl->isAllowed($role, 'welcome', 'index'))->false();
}
});
}