jenkins-bot has submitted this change and it was merged.

Change subject: Add test to validate special page aliases
......................................................................


Add test to validate special page aliases

Bug 57410
Change-Id: I185f58a618a0f0632d464552a94d704afd000e94
---
A tests/phpunit/languages/SpecialPageAliasTest.php
1 file changed, 63 insertions(+), 0 deletions(-)

Approvals:
  Daniel Kinzler: Looks good to me, approved
  Siebrand: Looks good to me, but someone else must approve
  Addshore: Looks good to me, but someone else must approve
  jenkins-bot: Verified



diff --git a/tests/phpunit/languages/SpecialPageAliasTest.php 
b/tests/phpunit/languages/SpecialPageAliasTest.php
new file mode 100644
index 0000000..8865f68
--- /dev/null
+++ b/tests/phpunit/languages/SpecialPageAliasTest.php
@@ -0,0 +1,63 @@
+<?php
+
+/**
+ * Verifies that special page aliases are valid, with no slashes.
+ *
+ * @group Language
+ * @group SpecialPageAliases
+ * @group SystemTest
+ * @group medium
+ *
+ * @licence GNU GPL v2+
+ * @author Katie Filbert < aude.w...@gmail.com >
+ */
+class SpecialPageAliasTest extends MediaWikiTestCase {
+
+       /**
+        * @dataProvider validSpecialPageAliasesProvider
+        */
+       public function testValidSpecialPageAliases( $code, $specialPageAliases 
) {
+               foreach( $specialPageAliases as $specialPage => $aliases ) {
+                       foreach( $aliases as $alias ) {
+                               $msg = "$specialPage alias '$alias' in $code is 
valid with no slashes";
+                               $this->assertRegExp( '/^[^\/]*$/', $msg );
+                       }
+               }
+       }
+
+       public function validSpecialPageAliasesProvider() {
+               $codes = array_keys( Language::fetchLanguageNames( 'mwfile' ) );
+
+               $data = array();
+
+               foreach( $codes as $code ) {
+                       $specialPageAliases = $this->getSpecialPageAliases( 
$code );
+
+                       if ( $specialPageAliases !== array() ) {
+                               $data[] = array( $code, $specialPageAliases );
+                       }
+               }
+
+               return $data;
+       }
+
+       /**
+        * @param string $code
+        *
+        * @return array
+        */
+       protected function getSpecialPageAliases( $code ) {
+               $file = Language::getMessagesFileName( $code );
+
+               if ( is_readable( $file ) ) {
+                       include $file;
+
+                       if ( isset( $specialPageAliases ) && 
$specialPageAliases !== null ) {
+                               return $specialPageAliases;
+                       }
+               }
+
+               return array();
+       }
+
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/97118
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I185f58a618a0f0632d464552a94d704afd000e94
Gerrit-PatchSet: 4
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Aude <aude.w...@gmail.com>
Gerrit-Reviewer: Addshore <addshorew...@gmail.com>
Gerrit-Reviewer: Aude <aude.w...@gmail.com>
Gerrit-Reviewer: Daniel Kinzler <daniel.kinz...@wikimedia.de>
Gerrit-Reviewer: Greg Grossmeier <g...@wikimedia.org>
Gerrit-Reviewer: Nikerabbit <niklas.laxst...@gmail.com>
Gerrit-Reviewer: Raimond Spekking <raimond.spekk...@gmail.com>
Gerrit-Reviewer: Reedy <re...@wikimedia.org>
Gerrit-Reviewer: Siebrand <siebr...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to