tests: Complete test coverage of HtmlArmor
[lhc/web/wiklou.git] / tests / phpunit / includes / installer / InstallDocFormatterTest.php
index 064d518..9584d4b 100644 (file)
@@ -1,12 +1,8 @@
 <?php
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
 
 class InstallDocFormatterTest extends MediaWikiTestCase {
        /**
-        * @covers InstallDocFormatter::format
+        * @covers InstallDocFormatter
         * @dataProvider provideDocFormattingTests
         */
        public function testFormat( $expected, $unformattedText, $message = '' ) {
@@ -22,51 +18,66 @@ class InstallDocFormatterTest extends MediaWikiTestCase {
         */
        public static function provideDocFormattingTests() {
                # Format: (expected string, unformattedText string, optional message)
-               return array(
+               return [
                        # Escape some wikitext
-                       array( 'Install &lt;tag>', 'Install <tag>', 'Escaping <' ),
-                       array( 'Install &#123;&#123;template}}', 'Install {{template}}', 'Escaping [[' ),
-                       array( 'Install &#91;&#91;page]]', 'Install [[page]]', 'Escaping {{' ),
-                       array( 'Install &#95;&#95;TOC&#95;&#95;', 'Install __TOC__', 'Escaping __' ),
-                       array( 'Install ', "Install \r", 'Removing \r' ),
+                       [ 'Install &lt;tag>', 'Install <tag>', 'Escaping <' ],
+                       [ 'Install &#123;&#123;template}}', 'Install {{template}}', 'Escaping [[' ],
+                       [ 'Install &#91;&#91;page]]', 'Install [[page]]', 'Escaping {{' ],
+                       [ 'Install &#95;&#95;TOC&#95;&#95;', 'Install __TOC__', 'Escaping __' ],
+                       [ 'Install ', "Install \r", 'Removing \r' ],
 
                        # Transform \t{1,2} into :{1,2}
-                       array( ':One indentation', "\tOne indentation", 'Replacing a single \t' ),
-                       array( '::Two indentations', "\t\tTwo indentations", 'Replacing 2 x \t' ),
+                       [ ':One indentation', "\tOne indentation", 'Replacing a single \t' ],
+                       [ '::Two indentations', "\t\tTwo indentations", 'Replacing 2 x \t' ],
+
+                       # Transform 'T123' links
+                       [
+                               '<span class="config-plainlink">[https://phabricator.wikimedia.org/T123 T123]</span>',
+                               'T123', 'Testing T123 links' ],
+                       [
+                               'bug <span class="config-plainlink">[https://phabricator.wikimedia.org/T123 T123]</span>',
+                               'bug T123', 'Testing bug T123 links' ],
+                       [
+                               '(<span class="config-plainlink">[https://phabricator.wikimedia.org/T987654 T987654]</span>)',
+                               '(T987654)', 'Testing (T987654) links' ],
+
+                       # "Tabc" shouldn't work
+                       [ 'Tfoobar', 'Tfoobar', "Don't match T followed by non-digits" ],
+                       [ '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>',
-                               'bug 123', 'Testing bug 123 links' ),
-                       array(
+                               'bug 123', 'Testing bug 123 links' ],
+                       [
                                '(<span class="config-plainlink">[https://bugzilla.wikimedia.org/987654 bug 987654]</span>)',
-                               '(bug 987654)', 'Testing (bug 987654) links' ),
+                               '(bug 987654)', 'Testing (bug 987654) links' ],
 
                        # "bug abc" shouldn't work
-                       array( 'bug foobar', 'bug foobar', "Don't match bug followed by non-digits" ),
-                       array( 'bug !!fakefake!!', 'bug !!fakefake!!', "Don't match bug followed by non-digits" ),
+                       [ 'bug foobar', 'bug foobar', "Don't match bug followed by non-digits" ],
+                       [ 'bug !!fakefake!!', 'bug !!fakefake!!', "Don't match bug followed by non-digits" ],
 
                        # Transform '$wgFooBar' links
-                       array(
+                       [
                                '<span class="config-plainlink">'
                                        . '[https://www.mediawiki.org/wiki/Manual:$wgFooBar $wgFooBar]</span>',
-                               '$wgFooBar', 'Testing basic $wgFooBar' ),
-                       array(
+                               '$wgFooBar', 'Testing basic $wgFooBar' ],
+                       [
                                '<span class="config-plainlink">'
                                        . '[https://www.mediawiki.org/wiki/Manual:$wgFooBar45 $wgFooBar45]</span>',
-                               '$wgFooBar45', 'Testing $wgFooBar45 (with numbers)' ),
-                       array(
+                               '$wgFooBar45', 'Testing $wgFooBar45 (with numbers)' ],
+                       [
                                '<span class="config-plainlink">'
                                        . '[https://www.mediawiki.org/wiki/Manual:$wgFoo_Bar $wgFoo_Bar]</span>',
-                               '$wgFoo_Bar', 'Testing $wgFoo_Bar (with underscore)' ),
+                               '$wgFoo_Bar', 'Testing $wgFoo_Bar (with underscore)' ],
 
                        # Icky variables that shouldn't link
-                       array(
+                       [
                                '$myAwesomeVariable',
                                '$myAwesomeVariable',
                                'Testing $myAwesomeVariable (not starting with $wg)'
-                       ),
-                       array( '$()not!a&Var', '$()not!a&Var', 'Testing $()not!a&Var (obviously not a variable)' ),
-               );
+                       ],
+                       [ '$()not!a&Var', '$()not!a&Var', 'Testing $()not!a&Var (obviously not a variable)' ],
+               ];
        }
 }