r91895 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r91894‎ | r91895 | r91896 >
Date:18:36, 11 July 2011
Author:btongminh
Status:ok
Tags:
Comment:
Add unit tests for $wgGroupPermissions/$wgRevokePermissions
Modified paths:
  • /trunk/phase3/tests/phpunit/includes/UserTest.php (added) (history)

Diff [purge]

Index: trunk/phase3/tests/phpunit/includes/UserTest.php
@@ -0,0 +1,56 @@
 2+<?php
 3+
 4+class UserTest extends MediaWikiTestCase {
 5+ protected $savedGroupPermissions, $savedRevokedPermissions;
 6+
 7+ public function setUp() {
 8+ parent::setUp();
 9+
 10+ $this->savedGroupPermissions = $GLOBALS['wgGroupPermissions'];
 11+ $this->savedRevokedPermissions = $GLOBALS['wgRevokePermissions'];
 12+
 13+ $this->setUpPermissionGlobals();
 14+ }
 15+ private function setUpPermissionGlobals() {
 16+ global $wgGroupPermissions, $wgRevokePermissions;
 17+
 18+ $wgGroupPermissions['unittesters'] = array(
 19+ 'runtest' => true,
 20+ 'writetest' => false,
 21+ 'nukeworld' => false,
 22+ );
 23+ $wgGroupPermissions['testwriters'] = array(
 24+ 'writetest' => true,
 25+ 'modifytest' => true,
 26+ );
 27+
 28+ $wgRevokePermissions['formertesters'] = array(
 29+ 'runtest' => true,
 30+ );
 31+ }
 32+ public function tearDown() {
 33+ $GLOBALS['wgGroupPermissions'] = $this->savedGroupPermissions;
 34+ $GLOBALS['wgRevokePermissions'] = $this->savedRevokedPermissions;
 35+ }
 36+
 37+ public function testGroupPermissions() {
 38+ $rights = User::getGroupPermissions( array( 'unittesters' ) );
 39+ $this->assertContains( 'runtest', $rights );
 40+ $this->assertNotContains( 'writetest', $rights );
 41+ $this->assertNotContains( 'modifytest', $rights );
 42+ $this->assertNotContains( 'nukeworld', $rights );
 43+
 44+ $rights = User::getGroupPermissions( array( 'unittesters', 'testwriters' ) );
 45+ $this->assertContains( 'runtest', $rights );
 46+ $this->assertContains( 'writetest', $rights );
 47+ $this->assertContains( 'modifytest', $rights );
 48+ $this->assertNotContains( 'nukeworld', $rights );
 49+ }
 50+ public function testRevokePermissions() {
 51+ $rights = User::getGroupPermissions( array( 'unittesters', 'formertesters' ) );
 52+ $this->assertNotContains( 'runtest', $rights );
 53+ $this->assertNotContains( 'writetest', $rights );
 54+ $this->assertNotContains( 'modifytest', $rights );
 55+ $this->assertNotContains( 'nukeworld', $rights );
 56+ }
 57+}
\ No newline at end of file
Property changes on: trunk/phase3/tests/phpunit/includes/UserTest.php
___________________________________________________________________
Added: svn:eol-style
158 + native

Follow-up revisions

RevisionCommit summaryAuthorDate
r91896Follow-up r91895: Call parent destructor as well, just to be safe.btongminh18:38, 11 July 2011

Status & tagging log