use Content;
use Language;
+use MediaWiki\MediaWikiServices;
use MediaWiki\Revision\MutableRevisionRecord;
use MediaWiki\Revision\MutableRevisionSlots;
use MediaWiki\Revision\RenderedRevision;
}
/**
- * @param $articleId
- * @param $revisionId
+ * @param int $articleId
+ * @param int $revisionId
* @return Title
*/
private function getMockTitle( $articleId, $revisionId ) {
$mock->expects( $this->any() )
->method( 'userCan' )
->willReturnCallback( function ( $perm, User $user ) use ( $mock ) {
- return $user->isAllowed( $perm );
+ return MediaWikiServices::getInstance()
+ ->getPermissionManager()
+ ->userHasRight( $user, $perm );
} );
return $mock;
$this->assertContains( 'time:20180101000003!', $html );
}
+ public function testSetRevisionParserOutput() {
+ $title = $this->getMockTitle( 3, 21 );
+ $rev = $this->getMockRevision( RevisionStoreRecord::class, $title );
+
+ $options = ParserOptions::newCanonical( 'canonical' );
+ $rr = new RenderedRevision( $title, $rev, $options, $this->combinerCallback );
+
+ $output = new ParserOutput( 'Kittens' );
+ $rr->setRevisionParserOutput( $output );
+
+ $this->assertSame( $output, $rr->getRevisionParserOutput() );
+ $this->assertSame( 'Kittens', $rr->getRevisionParserOutput()->getText() );
+
+ $this->assertSame( $output, $rr->getSlotParserOutput( SlotRecord::MAIN ) );
+ $this->assertSame( 'Kittens', $rr->getSlotParserOutput( SlotRecord::MAIN )->getText() );
+ }
+
public function testNoHtml() {
/** @var MockObject|Content $mockContent */
$mockContent = $this->getMockBuilder( WikitextContent::class )