resourceloader: Add structure unit test to confirm messages exist
authorTimo Tijhof <krinklemail@gmail.com>
Tue, 15 Mar 2016 03:11:55 +0000 (03:11 +0000)
committerKrinkle <krinklemail@gmail.com>
Wed, 17 Aug 2016 20:07:43 +0000 (20:07 +0000)
Bug: T129976
Change-Id: I5333523efe3e7b9191e871d67d9eb650002c7784

tests/phpunit/structure/ResourcesTest.php

index 6446416..86ce53f 100644 (file)
@@ -86,6 +86,25 @@ class ResourcesTest extends MediaWikiTestCase {
                }
        }
 
+       /**
+        * Verify that all specified messages actually exist.
+        */
+       public function testMissingMessages() {
+               $data = self::getAllModules();
+               $validDeps = array_keys( $data['modules'] );
+               $lang = Language::factory( 'en' );
+
+               /** @var ResourceLoaderModule $module */
+               foreach ( $data['modules'] as $moduleName => $module ) {
+                       foreach ( $module->getMessages() as $msgKey ) {
+                               $this->assertTrue(
+                                       wfMessage( $msgKey )->useDatabase( false )->inLanguage( $lang )->exists(),
+                                       "Message '$msgKey' required by '$moduleName' must exist"
+                               );
+                       }
+               }
+       }
+
        /**
         * Verify that all dependencies of all modules are always satisfiable with the 'targets' defined
         * for the involved modules.