Index: tests/Zend/Acl/AclTest.php =================================================================== --- tests/Zend/Acl/AclTest.php (revision 19315) +++ tests/Zend/Acl/AclTest.php (working copy) @@ -1273,5 +1273,48 @@ $this->assertTrue($allowed); } + + /** + * @group ZF-8468 + */ + public function testGetRegisteredRolesIsDeprecated() { + try { + $this->_acl->getRegisteredRoles(); + $this->fail('getRegisteredRoles() did not throw an exception'); + } catch(PHPUnit_Framework_Error $e) { + return; + } + + $this->fail('An expected notice has not been raised'); + } + + /** + * @group ZF-8468 + */ + public function testgetRoles() { + $this->assertEquals(array(),$this->_acl->getRoles()); + $roleGuest = new Zend_Acl_Role('guest'); + $this->_acl->addRole($roleGuest); + $this->_acl->addRole(new Zend_Acl_Role('staff'), $roleGuest); + $this->_acl->addRole(new Zend_Acl_Role('editor'), 'staff'); + $this->_acl->addRole(new Zend_Acl_Role('administrator')); + + $expected = array('guest', 'staff','editor','administrator'); + $this->assertEquals($expected, $this->_acl->getRoles()); + } + + /** + * @group ZF-8468 + */ + public function testgetResources() { + $this->assertEquals(array(),$this->_acl->getResources()); + + $this->_acl->add(new Zend_Acl_Resource('someResource')); + $this->_acl->add(new Zend_Acl_Resource('someOtherResource')); + + $expected = array('someResource', 'someOtherResource'); + $this->assertEquals($expected, $this->_acl->getResources()); + } + } Index: library/Zend/Acl.php =================================================================== --- library/Zend/Acl.php (revision 19315) +++ library/Zend/Acl.php (working copy) @@ -1132,12 +1132,33 @@ /** - * @return array of registered roles - * + * @return array of registered roles (Deprecated) + * @deprecated Deprecated since version 1.10 (December 2009) */ public function getRegisteredRoles() { + trigger_error('The method getRegisteredRoles() was deprecated as of ' + . 'version 1.0, and may be removed. You\'re encouraged ' + . 'to use getRoles() instead.'); + return $this->_getRoleRegistry()->getRoles(); } + /** + * @return array of registered roles + */ + public function getRoles() + { + return array_keys($this->_getRoleRegistry()->getRoles()); + } + + /** + * @return array of registered resources + */ + public function getResources() + { + return array_keys($this->_resources); + } + } +