MediaWiki  REL1_21
WikiPageTest_ContentHandlerUseDB.php
Go to the documentation of this file.
00001 <?php
00002 
00008 class WikiPageTest_ContentHandlerUseDB extends WikiPageTest {
00009         var $saveContentHandlerNoDB = null;
00010 
00011         function setUp() {
00012                 global $wgContentHandlerUseDB;
00013 
00014                 parent::setUp();
00015 
00016                 $this->saveContentHandlerNoDB = $wgContentHandlerUseDB;
00017 
00018                 $wgContentHandlerUseDB = false;
00019 
00020                 $dbw = wfGetDB( DB_MASTER );
00021 
00022                 $page_table = $dbw->tableName( 'page' );
00023                 $revision_table = $dbw->tableName( 'revision' );
00024                 $archive_table = $dbw->tableName( 'archive' );
00025 
00026                 if ( $dbw->fieldExists( $page_table, 'page_content_model' ) ) {
00027                         $dbw->query( "alter table $page_table drop column page_content_model" );
00028                         $dbw->query( "alter table $revision_table drop column rev_content_model" );
00029                         $dbw->query( "alter table $revision_table drop column rev_content_format" );
00030                         $dbw->query( "alter table $archive_table drop column ar_content_model" );
00031                         $dbw->query( "alter table $archive_table drop column ar_content_format" );
00032                 }
00033         }
00034 
00035         function tearDown() {
00036                 global $wgContentHandlerUseDB;
00037 
00038                 $wgContentHandlerUseDB = $this->saveContentHandlerNoDB;
00039 
00040                 parent::tearDown();
00041         }
00042 
00043         public function testGetContentModel() {
00044                 $page = $this->createPage( "WikiPageTest_testGetContentModel", "some text", CONTENT_MODEL_JAVASCRIPT );
00045 
00046                 $page = new WikiPage( $page->getTitle() );
00047 
00048                 // NOTE: since the content model is not recorded in the database,
00049                 //       we expect to get the default, namely CONTENT_MODEL_WIKITEXT
00050                 $this->assertEquals( CONTENT_MODEL_WIKITEXT, $page->getContentModel() );
00051         }
00052 
00053         public function testGetContentHandler() {
00054                 $page = $this->createPage( "WikiPageTest_testGetContentHandler", "some text", CONTENT_MODEL_JAVASCRIPT );
00055 
00056                 // NOTE: since the content model is not recorded in the database,
00057                 //       we expect to get the default, namely CONTENT_MODEL_WIKITEXT
00058                 $page = new WikiPage( $page->getTitle() );
00059                 $this->assertEquals( 'WikitextContentHandler', get_class( $page->getContentHandler() ) );
00060         }
00061 
00062 }