Add UserTest::testAllRightsWithMessage
authorumherirrender <umherirrender_de.wp@web.de>
Mon, 13 Aug 2012 08:18:18 +0000 (10:18 +0200)
committerumherirrender <umherirrender_de.wp@web.de>
Mon, 13 Aug 2012 21:26:58 +0000 (23:26 +0200)
New test case, which checked, if for all available rights a right-
message exist (Core and Extensions)

Some missing rights added with extra patch sets (need merge/rebasing
before merge of this)

Change-Id: I28957835fb77a01a799439ad7b3d22b96db07204

tests/phpunit/includes/UserTest.php

index ef03e83..7a424ae 100644 (file)
@@ -140,4 +140,32 @@ class UserTest extends MediaWikiTestCase {
                        array( 'Ab cd', false, ' Ideographic space' ),
                );
        }
+
+       /**
+        * Test, if for all rights a right- message exist,
+        * which is used on Special:ListGroupRights as help text
+        * Extensions and core
+        */
+       public function testAllRightsWithMessage() {
+               //Getting all user rights, for core: User::$mCoreRights, for extensions: $wgAvailableRights
+               $allRights = User::getAllRights();
+               $allMessageKeys = Language::getMessageKeysFor( 'en' );
+
+               $rightsWithMessage = array();
+               foreach ( $allMessageKeys as $message ) {
+                       // === 0: must be at beginning of string (position 0)
+                       if ( strpos( $message, 'right-' ) === 0 ) {
+                               $rightsWithMessage[] = substr( $message, strlen( 'right-' ) );
+                       }
+               }
+
+               sort( $allRights );
+               sort( $rightsWithMessage );
+
+               $this->assertEquals(
+                       $allRights,
+                       $rightsWithMessage,
+                       'Each user rights (core/extensions) has a corresponding right- message.'
+               );
+       }
 }