3 class UserTest
extends MediaWikiTestCase
{
4 protected $savedGroupPermissions, $savedRevokedPermissions;
6 public function setUp() {
9 $this->savedGroupPermissions
= $GLOBALS['wgGroupPermissions'];
10 $this->savedRevokedPermissions
= $GLOBALS['wgRevokePermissions'];
12 $this->setUpPermissionGlobals();
14 private function setUpPermissionGlobals() {
15 global $wgGroupPermissions, $wgRevokePermissions;
17 $wgGroupPermissions['unittesters'] = array(
22 $wgGroupPermissions['testwriters'] = array(
27 $wgRevokePermissions['formertesters'] = array(
31 public function tearDown() {
32 $GLOBALS['wgGroupPermissions'] = $this->savedGroupPermissions
;
33 $GLOBALS['wgRevokePermissions'] = $this->savedRevokedPermissions
;
36 public function testGroupPermissions() {
37 $rights = User
::getGroupPermissions( array( 'unittesters' ) );
38 $this->assertContains( 'runtest', $rights );
39 $this->assertNotContains( 'writetest', $rights );
40 $this->assertNotContains( 'modifytest', $rights );
41 $this->assertNotContains( 'nukeworld', $rights );
43 $rights = User
::getGroupPermissions( array( 'unittesters', 'testwriters' ) );
44 $this->assertContains( 'runtest', $rights );
45 $this->assertContains( 'writetest', $rights );
46 $this->assertContains( 'modifytest', $rights );
47 $this->assertNotContains( 'nukeworld', $rights );
49 public function testRevokePermissions() {
50 $rights = User
::getGroupPermissions( array( 'unittesters', 'formertesters' ) );
51 $this->assertNotContains( 'runtest', $rights );
52 $this->assertNotContains( 'writetest', $rights );
53 $this->assertNotContains( 'modifytest', $rights );
54 $this->assertNotContains( 'nukeworld', $rights );