Merge "Improve rendering of Living Style Guide sections, examples, and modifiers."
[lhc/web/wiklou.git] / tests / phpunit / includes / content / TextContentTest.php
index a1f099f..03cbbc0 100644 (file)
@@ -7,14 +7,21 @@
  */
 class TextContentTest extends MediaWikiLangTestCase {
        protected $context;
+       protected $savedContentGetParserOutput;
 
        protected function setUp() {
+               global $wgHooks;
+
                parent::setUp();
 
                // Anon user
                $user = new User();
                $user->setName( '127.0.0.1' );
 
+               $this->context = new RequestContext( new FauxRequest() );
+               $this->context->setTitle( Title::newFromText( 'Test' ) );
+               $this->context->setUser( $user );
+
                $this->setMwGlobals( array(
                        'wgUser' => $user,
                        'wgTextModelsToParse' => array(
@@ -26,9 +33,22 @@ class TextContentTest extends MediaWikiLangTestCase {
                        'wgAlwaysUseTidy' => false,
                ) );
 
-               $this->context = new RequestContext( new FauxRequest() );
-               $this->context->setTitle( Title::newFromText( 'Test' ) );
-               $this->context->setUser( $user );
+               // bypass hooks that force custom rendering
+               if ( isset( $wgHooks['ContentGetParserOutput'] )  ) {
+                       $this->savedContentGetParserOutput = $wgHooks['ContentGetParserOutput'];
+                       unset( $wgHooks['ContentGetParserOutput'] );
+               }
+       }
+
+       public function teardown() {
+               global $wgHooks;
+
+               // restore hooks that force custom rendering
+               if ( $this->savedContentGetParserOutput !== null ) {
+                       $wgHooks['ContentGetParserOutput'] = $this->savedContentGetParserOutput;
+               }
+
+               parent::teardown();
        }
 
        public function newContent( $text ) {
@@ -53,7 +73,9 @@ class TextContentTest extends MediaWikiLangTestCase {
         * @dataProvider dataGetParserOutput
         * @covers TextContent::getParserOutput
         */
-       public function testGetParserOutput( $title, $model, $text, $expectedHtml, $expectedFields = null ) {
+       public function testGetParserOutput( $title, $model, $text, $expectedHtml,
+               $expectedFields = null
+       ) {
                $title = Title::newFromText( $title );
                $content = ContentHandler::makeContent( $text, $title, $model );
 
@@ -105,7 +127,11 @@ class TextContentTest extends MediaWikiLangTestCase {
                $options = ParserOptions::newFromUserAndLang( $this->context->getUser(), $wgContLang );
 
                $content = $this->newContent( $text );
-               $content = $content->preSaveTransform( $this->context->getTitle(), $this->context->getUser(), $options );
+               $content = $content->preSaveTransform(
+                       $this->context->getTitle(),
+                       $this->context->getUser(),
+                       $options
+               );
 
                $this->assertEquals( $expected, $content->getNativeData() );
        }
@@ -223,8 +249,13 @@ class TextContentTest extends MediaWikiLangTestCase {
 
                $v = $content->isCountable( $hasLinks, $this->context->getTitle() );
 
-               $this->assertEquals( $expected, $v, 'isCountable() returned unexpected value ' . var_export( $v, true )
-                       . ' instead of ' . var_export( $expected, true ) . " in mode `$mode` for text \"$text\"" );
+               $this->assertEquals(
+                       $expected,
+                       $v,
+                       'isCountable() returned unexpected value ' . var_export( $v, true )
+                               . ' instead of ' . var_export( $expected, true )
+                               . " in mode `$mode` for text \"$text\""
+               );
        }
 
        public static function dataGetTextForSummary() {