forked from GNUsocial/gnu-social
2a4dc77a63
I used this hacky sed-command (run it from your GNU Social root, or change the first grep's path to where it actually lies) to do a rough fix on all ::staticGet calls and rename them to ::getKV sed -i -s -e '/DataObject::staticGet/I!s/::staticGet/::getKV/Ig' $(grep -R ::staticGet `pwd`/* | grep -v -e '^extlib' | grep -v DataObject:: |grep -v "function staticGet"|cut -d: -f1 |sort |uniq) If you're applying this, remember to change the Managed_DataObject and Memcached_DataObject function definitions of staticGet to getKV! This might of course take some getting used to, or modification fo StatusNet plugins, but the result is that all the static calls (to staticGet) are now properly made without breaking PHP Strict Standards. Standards are there to be followed (and they caused some very bad confusion when used with get_called_class) Reasonably any plugin or code that tests for the definition of 'GNUSOCIAL' or similar will take this change into consideration.
72 lines
1.6 KiB
PHP
72 lines
1.6 KiB
PHP
<?php
|
|
|
|
if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) {
|
|
print "This script must be run from the command line\n";
|
|
exit();
|
|
}
|
|
|
|
define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
|
|
define('STATUSNET', true);
|
|
|
|
require_once INSTALLDIR . '/lib/common.php';
|
|
|
|
class UserRightsTest extends PHPUnit_Framework_TestCase
|
|
{
|
|
protected $user = null;
|
|
|
|
function setUp()
|
|
{
|
|
$user = User::getKV('nickname', 'userrightstestuser');
|
|
if ($user) {
|
|
// Leftover from a broken test run?
|
|
$profile = $user->getProfile();
|
|
$user->delete();
|
|
$profile->delete();
|
|
}
|
|
$this->user = User::register(array('nickname' => 'userrightstestuser'));
|
|
if (!$this->user) {
|
|
throw new Exception("Couldn't register userrightstestuser");
|
|
}
|
|
}
|
|
|
|
function tearDown()
|
|
{
|
|
if ($this->user) {
|
|
$profile = $this->user->getProfile();
|
|
$this->user->delete();
|
|
$profile->delete();
|
|
}
|
|
}
|
|
|
|
function testInvalidRole()
|
|
{
|
|
$this->assertFalse($this->user->hasRole('invalidrole'));
|
|
}
|
|
|
|
function standardRoles()
|
|
{
|
|
return array(array('admin'),
|
|
array('moderator'));
|
|
}
|
|
|
|
/**
|
|
* @dataProvider standardRoles
|
|
*
|
|
*/
|
|
|
|
function testUngrantedRole($role)
|
|
{
|
|
$this->assertFalse($this->user->hasRole($role));
|
|
}
|
|
|
|
/**
|
|
* @dataProvider standardRoles
|
|
*
|
|
*/
|
|
|
|
function testGrantedRole($role)
|
|
{
|
|
$this->user->grantRole($role);
|
|
$this->assertTrue($this->user->hasRole($role));
|
|
}
|
|
} |