Add unit tests for $wgGroupPermissions/$wgRevokePermissions
This commit is contained in:
parent
c7c027c2e4
commit
8d89af55cc
1 changed files with 56 additions and 0 deletions
56
tests/phpunit/includes/UserTest.php
Normal file
56
tests/phpunit/includes/UserTest.php
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
<?php
|
||||
|
||||
class UserTest extends MediaWikiTestCase {
|
||||
protected $savedGroupPermissions, $savedRevokedPermissions;
|
||||
|
||||
public function setUp() {
|
||||
parent::setUp();
|
||||
|
||||
$this->savedGroupPermissions = $GLOBALS['wgGroupPermissions'];
|
||||
$this->savedRevokedPermissions = $GLOBALS['wgRevokePermissions'];
|
||||
|
||||
$this->setUpPermissionGlobals();
|
||||
}
|
||||
private function setUpPermissionGlobals() {
|
||||
global $wgGroupPermissions, $wgRevokePermissions;
|
||||
|
||||
$wgGroupPermissions['unittesters'] = array(
|
||||
'runtest' => true,
|
||||
'writetest' => false,
|
||||
'nukeworld' => false,
|
||||
);
|
||||
$wgGroupPermissions['testwriters'] = array(
|
||||
'writetest' => true,
|
||||
'modifytest' => true,
|
||||
);
|
||||
|
||||
$wgRevokePermissions['formertesters'] = array(
|
||||
'runtest' => true,
|
||||
);
|
||||
}
|
||||
public function tearDown() {
|
||||
$GLOBALS['wgGroupPermissions'] = $this->savedGroupPermissions;
|
||||
$GLOBALS['wgRevokePermissions'] = $this->savedRevokedPermissions;
|
||||
}
|
||||
|
||||
public function testGroupPermissions() {
|
||||
$rights = User::getGroupPermissions( array( 'unittesters' ) );
|
||||
$this->assertContains( 'runtest', $rights );
|
||||
$this->assertNotContains( 'writetest', $rights );
|
||||
$this->assertNotContains( 'modifytest', $rights );
|
||||
$this->assertNotContains( 'nukeworld', $rights );
|
||||
|
||||
$rights = User::getGroupPermissions( array( 'unittesters', 'testwriters' ) );
|
||||
$this->assertContains( 'runtest', $rights );
|
||||
$this->assertContains( 'writetest', $rights );
|
||||
$this->assertContains( 'modifytest', $rights );
|
||||
$this->assertNotContains( 'nukeworld', $rights );
|
||||
}
|
||||
public function testRevokePermissions() {
|
||||
$rights = User::getGroupPermissions( array( 'unittesters', 'formertesters' ) );
|
||||
$this->assertNotContains( 'runtest', $rights );
|
||||
$this->assertNotContains( 'writetest', $rights );
|
||||
$this->assertNotContains( 'modifytest', $rights );
|
||||
$this->assertNotContains( 'nukeworld', $rights );
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue