jenkins-bot has submitted this change and it was merged.
Change subject: InstallDocFormatter: Hyperlink Phabricator task numbers
......................................................................
InstallDocFormatter: Hyperlink Phabricator task numbers
Also removed the callback functions for the existing regexes. Nothing
has to be or is encoded or escaped at this time, so preg_replace()
can be used instead of preg_replace_callback().
Change-Id: I8cdddd602dcf7b67b8f2b06149b6a0859c70342c
---
M includes/installer/InstallDocFormatter.php
M tests/phpunit/includes/installer/InstallDocFormatterTest.php
2 files changed, 35 insertions(+), 14 deletions(-)
Approvals:
Chad: Looks good to me, approved
jenkins-bot: Verified
diff --git a/includes/installer/InstallDocFormatter.php
b/includes/installer/InstallDocFormatter.php
index 3250ff8..0d52e64 100644
--- a/includes/installer/InstallDocFormatter.php
+++ b/includes/installer/InstallDocFormatter.php
@@ -44,25 +44,31 @@
// Replace tab indents with colons
$text = preg_replace( '/^\t\t/m', '::', $text );
$text = preg_replace( '/^\t/m', ':', $text );
+
+ $linkStart = '<span class="config-plainlink">[';
+ $linkEnd = ' $0]</span>';
+
+ // turn (Tnnnn) into links
+ $text = preg_replace(
+ '/T\d+/',
+
"{$linkStart}https://phabricator.wikimedia.org/$0{$linkEnd}",
+ $text
+ );
+
// turn (bug nnnn) into links
- $text = preg_replace_callback( '/bug (\d+)/', array( $this,
'replaceBugLinks' ), $text );
+ $text = preg_replace(
+ '/bug (\d+)/',
+
"{$linkStart}https://bugzilla.wikimedia.org/$1{$linkEnd}",
+ $text
+ );
+
// add links to manual to every global variable mentioned
- $text = preg_replace_callback(
- '/(\$wg[a-z0-9_]+)/i',
- array( $this, 'replaceConfigLinks' ),
+ $text = preg_replace(
+ '/\$wg[a-z0-9_]+/i',
+
"{$linkStart}https://www.mediawiki.org/wiki/Manual:$0{$linkEnd}",
$text
);
return $text;
- }
-
- protected function replaceBugLinks( $matches ) {
- return '<span
class="config-plainlink">[https://bugzilla.wikimedia.org/' .
- $matches[1] . ' bug ' . $matches[1] . ']</span>';
- }
-
- protected function replaceConfigLinks( $matches ) {
- return '<span
class="config-plainlink">[https://www.mediawiki.org/wiki/Manual:' .
- $matches[1] . ' ' . $matches[1] . ']</span>';
}
}
diff --git a/tests/phpunit/includes/installer/InstallDocFormatterTest.php
b/tests/phpunit/includes/installer/InstallDocFormatterTest.php
index 064d518..724f0c8 100644
--- a/tests/phpunit/includes/installer/InstallDocFormatterTest.php
+++ b/tests/phpunit/includes/installer/InstallDocFormatterTest.php
@@ -34,6 +34,21 @@
array( ':One indentation', "\tOne indentation",
'Replacing a single \t' ),
array( '::Two indentations', "\t\tTwo indentations",
'Replacing 2 x \t' ),
+ # Transform 'T123' links
+ array(
+ '<span
class="config-plainlink">[https://phabricator.wikimedia.org/T123 T123]</span>',
+ 'T123', 'Testing T123 links' ),
+ array(
+ 'bug <span
class="config-plainlink">[https://phabricator.wikimedia.org/T123 T123]</span>',
+ 'bug T123', 'Testing bug T123 links' ),
+ array(
+ '(<span
class="config-plainlink">[https://phabricator.wikimedia.org/T987654
T987654]</span>)',
+ '(T987654)', 'Testing (T987654) links' ),
+
+ # "Tabc" shouldn't work
+ array( 'Tfoobar', 'Tfoobar', "Don't match T followed by
non-digits" ),
+ array( 'T!!fakefake!!', 'T!!fakefake!!', "Don't match T
followed by non-digits" ),
+
# Transform 'bug 123' links
array(
'<span
class="config-plainlink">[https://bugzilla.wikimedia.org/123 bug 123]</span>',
--
To view, visit https://gerrit.wikimedia.org/r/174924
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I8cdddd602dcf7b67b8f2b06149b6a0859c70342c
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: PleaseStand <[email protected]>
Gerrit-Reviewer: Chad <[email protected]>
Gerrit-Reviewer: Greg Grossmeier <[email protected]>
Gerrit-Reviewer: MarkAHershberger <[email protected]>
Gerrit-Reviewer: Mglaser <[email protected]>
Gerrit-Reviewer: Reedy <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits