Page MenuHomeWickedGov Phorge

MutableRevisionRecordTest.php
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

MutableRevisionRecordTest.php

<?php
namespace MediaWiki\Tests\Revision;
use MediaWiki\Page\PageIdentity;
use MediaWiki\Page\PageIdentityValue;
use MediaWiki\Revision\MutableRevisionRecord;
use MediaWiki\Revision\RevisionRecord;
use MediaWiki\Title\Title;
use MediaWiki\Title\TitleValue;
use MediaWikiIntegrationTestCase;
use MockTitleTrait;
use Wikimedia\Assert\PreconditionException;
/**
* @covers \MediaWiki\Revision\MutableRevisionRecord
* @covers \MediaWiki\Revision\RevisionRecord
*/
class MutableRevisionRecordTest extends MediaWikiIntegrationTestCase {
use MockTitleTrait;
public static function provideConstructor() {
$title = Title::makeTitle( NS_MAIN, 'Dummy' );
$title->resetArticleID( 17 );
yield 'local wiki, with title' => [ $title, PageIdentity::LOCAL ];
yield 'local wiki' => [
new PageIdentityValue( 17, NS_MAIN, 'Dummy', PageIdentity::LOCAL ),
PageIdentity::LOCAL,
];
yield 'foreign wiki' => [
new PageIdentityValue( 17, NS_MAIN, 'Dummy', 'acmewiki' ),
'acmewiki',
PreconditionException::class
];
}
/**
* @dataProvider provideConstructor
*
* @param PageIdentity $page
* @param string|false $wikiId
* @param string|null $expectedException
*/
public function testConstructorAndGetters(
PageIdentity $page,
$wikiId = RevisionRecord::LOCAL,
?string $expectedException = null
) {
$rec = new MutableRevisionRecord( $page, $wikiId );
$this->assertTrue( $page->isSamePageAs( $rec->getPage() ), 'getPage' );
$this->assertSame( $wikiId, $rec->getWikiId(), 'getWikiId' );
if ( $expectedException ) {
$this->expectException( $expectedException );
$rec->getPageAsLinkTarget();
} else {
$this->assertTrue(
TitleValue::newFromPage( $page )->isSameLinkAs( $rec->getPageAsLinkTarget() ),
'getPageAsLinkTarget'
);
}
}
}

File Metadata

Mime Type
text/x-php
Expires
Sat, May 16, 14:51 (1 d, 2 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
ff/de/901dcfbcca3c315d73a1169113d7
Default Alt Text
MutableRevisionRecordTest.php (1 KB)

Event Timeline