1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
<?php
namespace MediaWiki\Tests\Storage;
use MediaWiki\Content\ContentHandler;
use MediaWiki\Content\TextContent;
use MediaWiki\Revision\SlotRecord;
use MediaWikiIntegrationTestCase;
/**
* @covers \MediaWiki\Storage\PageUpdaterFactory
* @group Database
*/
class PageUpdaterFactoryIntegrationTest extends MediaWikiIntegrationTestCase {
/**
* @covers \WikiPage::newPageUpdater
*/
public function testNewPageUpdater() {
$page = $this->getExistingTestPage();
$title = $page->getTitle();
$user = $this->getTestUser()->getUserIdentity();
/** @var TextContent $content */
$content = ContentHandler::makeContent(
"[[Lorem ipsum]] dolor sit amet, consetetur sadipscing elitr, sed diam "
. " nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat.",
$title,
CONTENT_MODEL_WIKITEXT
);
$factory = $this->getServiceContainer()->getPageUpdaterFactory();
$updater = $factory->newPageUpdater( $page, $user );
$updater->setContent( SlotRecord::MAIN, $content );
$update = $updater->prepareUpdate();
/** @var TextContent $pstContent */
$pstContent = $update->getRawContent( SlotRecord::MAIN );
$this->assertSame( $content->getText(), $pstContent->getText() );
$pout = $update->getCanonicalParserOutput();
$this->assertStringContainsString( 'dolor sit amet', $pout->getRawText() );
}
}
|