Merge "Revert "If rev_content_model is null, use page_content_model.""
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Sun, 10 Jul 2016 23:07:40 +0000 (23:07 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Sun, 10 Jul 2016 23:07:40 +0000 (23:07 +0000)
includes/Revision.php
tests/phpunit/includes/RevisionStorageTest.php

index 5c4302e..eda8989 100644 (file)
@@ -1110,7 +1110,7 @@ class Revision implements IDBAccessObject {
                if ( !$this->mContentModel ) {
                        $title = $this->getTitle();
                        if ( $title ) {
-                               $this->mContentModel = $title->getContentModel();
+                               $this->mContentModel = ContentHandler::getDefaultModelFor( $title );
                        } else {
                                $this->mContentModel = CONTENT_MODEL_WIKITEXT;
                        }
@@ -1455,7 +1455,7 @@ class Revision implements IDBAccessObject {
                                        . "revision's page!" );
                        }
 
-                       $defaultModel = $title->getContentModel();
+                       $defaultModel = ContentHandler::getDefaultModelFor( $title );
                        $defaultFormat = ContentHandler::getForModelID( $defaultModel )->getDefaultFormat();
 
                        $row['rev_content_model'] = ( $model === $defaultModel ) ? null : $model;
index 3866190..7d3007b 100644 (file)
@@ -317,42 +317,7 @@ class RevisionStorageTest extends MediaWikiTestCase {
        /**
         * @covers Revision::getContentModel
         */
-       public function testGetContentModel_default_model() {
-               global $wgContentHandlerUseDB;
-
-               if ( !$wgContentHandlerUseDB ) {
-                       $this->markTestSkipped( '$wgContentHandlerUseDB is disabled' );
-               }
-
-               $orig = $this->makeRevision( [ 'text' => 'hello hello.', ] );
-
-               // Change namespace default content model, to make sure getContentModel() uses the
-               // page content model, not the namespace default.
-               $ns = $this->getDefaultWikitextNS();
-               $this->mergeMwGlobalArrayValue( 'wgNamespaceContentModels', [ $ns => CONTENT_MODEL_JSON ] );
-
-               $rev = Revision::newFromId( $orig->getId() );
-
-               // we should still get the correct content model from the page table
-               $this->assertEquals( CONTENT_MODEL_WIKITEXT, $rev->getContentModel() );
-
-               // check that we don't null the revision model if it's equal to the default, but not to
-               // the current page model.
-               $second = $this->makeRevision( [
-                       'text' => '{ "say":"hello" }',
-                       'content_model' => CONTENT_MODEL_JAVASCRIPT
-               ] );
-
-               $rev = Revision::newFromId( $second->getId() );
-
-               // we should now get the content model from the revision table
-               $this->assertEquals( CONTENT_MODEL_JAVASCRIPT, $rev->getContentModel() );
-       }
-
-       /**
-        * @covers Revision::getContentModel
-        */
-       public function testGetContentModel_other_model() {
+       public function testGetContentModel() {
                global $wgContentHandlerUseDB;
 
                if ( !$wgContentHandlerUseDB ) {
@@ -360,7 +325,7 @@ class RevisionStorageTest extends MediaWikiTestCase {
                }
 
                $orig = $this->makeRevision( [ 'text' => 'hello hello.',
-                                                    'content_model' => CONTENT_MODEL_JAVASCRIPT ] );
+                       'content_model' => CONTENT_MODEL_JAVASCRIPT ] );
                $rev = Revision::newFromId( $orig->getId() );
 
                $this->assertEquals( CONTENT_MODEL_JAVASCRIPT, $rev->getContentModel() );