Merge "Don't wrap output added by OutputPage::addWikiText*()"
[lhc/web/wiklou.git] / tests / phpunit / includes / OutputPageTest.php
index 7fa88fc..9d6122d 100644 (file)
@@ -1389,6 +1389,8 @@ class OutputPageTest extends MediaWikiTestCase {
         * @covers OutputPage::addWikiText
         * @covers OutputPage::addWikiTextWithTitle
         * @covers OutputPage::addWikiTextTitle
+        * @covers OutputPage::addWikiTextTidy
+        * @covers OutputPage::addWikiTextTitleTidy
         * @covers OutputPage::getHTML
         */
        public function testAddWikiText( $method, array $args, $expected ) {
@@ -1421,7 +1423,7 @@ class OutputPageTest extends MediaWikiTestCase {
                                        '* Not a list',
                                ], 'Non-interface' => [
                                        [ "'''Bold'''", true, false ],
-                                       "<div class=\"mw-parser-output\"><p><b>Bold</b>\n</p></div>",
+                                       "<p><b>Bold</b>\n</p>",
                                ], 'No section edit links' => [
                                        [ '== Title ==' ],
                                        "<h2><span class=\"mw-headline\" id=\"Title\">Title</span></h2>\n",
@@ -1430,10 +1432,34 @@ class OutputPageTest extends MediaWikiTestCase {
                        'addWikiTextWithTitle' => [
                                'With title at start' => [
                                        [ '* {{PAGENAME}}', Title::newFromText( 'Talk:Some page' ) ],
-                                       "<div class=\"mw-parser-output\"><ul><li>Some page</li></ul>\n</div>",
+                                       "<ul><li>Some page</li></ul>\n",
+                               ], 'With title at start' => [
+                                       [ '* {{PAGENAME}}', Title::newFromText( 'Talk:Some page' ), false ],
+                                       "* Some page",
+                               ],
+                       ],
+                       'addWikiTextTidy' => [
+                               'SpecialNewimages' => [
+                                       [ "<p lang='en' dir='ltr'>\nMy message" ],
+                                       '<p lang="en" dir="ltr">' . "\nMy message\n</p>"
+                               ], 'List at start' => [
+                                       [ '* List' ],
+                                       "<ul><li>List</li></ul>\n",
+                               ], 'List not at start' => [
+                                       [ '* <b>Not a list', false ],
+                                       '<p>* <b>Not a list</b></p>',
+                               ],
+                       ],
+                       'addWikiTextTitleTidy' => [
+                               'With title at start' => [
+                                       [ '* {{PAGENAME}}', Title::newFromText( 'Talk:Some page' ) ],
+                                       "<ul><li>Some page</li></ul>\n",
                                ], 'With title at start' => [
                                        [ '* {{PAGENAME}}', Title::newFromText( 'Talk:Some page' ), false ],
-                                       "<div class=\"mw-parser-output\">* Some page</div>",
+                                       "<p>* Some page</p>",
+                               ], 'EditPage' => [
+                                       [ "<div class='mw-editintro'>{{PAGENAME}}", Title::newFromText( 'Talk:Some page' ) ],
+                                       '<div class="mw-editintro">' . "Some page\n</div>"
                                ],
                        ],
                ];
@@ -1449,6 +1475,16 @@ class OutputPageTest extends MediaWikiTestCase {
                        $tests['addWikiTextTitle']["$key (addWikiTextTitle)"] =
                                array_merge( [ $args ], array_slice( $val, 1 ) );
                }
+               foreach ( $tests['addWikiTextTidy'] as $key => $val ) {
+                       $args = [ $val[0][0], null, $val[0][1] ?? true, true, false ];
+                       $tests['addWikiTextTitle']["$key (addWikiTextTitle)"] =
+                               array_merge( [ $args ], array_slice( $val, 1 ) );
+               }
+               foreach ( $tests['addWikiTextTitleTidy'] as $key => $val ) {
+                       $args = [ $val[0][0], $val[0][1], $val[0][2] ?? true, true, false ];
+                       $tests['addWikiTextTitle']["$key (addWikiTextTitle)"] =
+                               array_merge( [ $args ], array_slice( $val, 1 ) );
+               }
 
                // We have to reformat our array to match what PHPUnit wants
                $ret = [];
@@ -1472,8 +1508,6 @@ class OutputPageTest extends MediaWikiTestCase {
                $op->addWikiText( 'a' );
        }
 
-       // @todo How should we cover the Tidy variants?
-
        /**
         * @covers OutputPage::addParserOutputMetadata
         */