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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
<?php
namespace MediaWiki\Tests\Storage;
use MediaWiki\Page\PageIdentityValue;
use MediaWiki\Revision\MutableRevisionRecord;
use MediaWiki\Storage\PageUpdateStatus;
use MediaWikiUnitTestCase;
/**
* @covers \MediaWiki\Storage\PageUpdateStatus
*/
class PageUpdateStatusTest extends MediaWikiUnitTestCase {
public function testNewRevision() {
$status = PageUpdateStatus::newEmpty( false );
$this->assertTrue( $status->isOK() );
$this->assertFalse( $status->wasRevisionCreated() );
$this->assertFalse( $status->wasPageCreated() );
$page = PageIdentityValue::localIdentity( 7, NS_MAIN, 'Test' );
$rev = new MutableRevisionRecord( $page );
$status->setNewRevision( $rev );
$this->assertTrue( $status->wasRevisionCreated() );
$this->assertSame( $rev, $status->getNewRevision() );
}
public function testWasPageCreated() {
$status = PageUpdateStatus::newEmpty( true );
$this->assertTrue( $status->isOK() );
$this->assertFalse( $status->wasPageCreated() );
$page = PageIdentityValue::localIdentity( 7, NS_MAIN, 'Test' );
$rev = new MutableRevisionRecord( $page );
$status->setNewRevision( $rev );
$this->assertTrue( $status->wasPageCreated() );
}
public function testFailedBecausePageExists() {
$status = PageUpdateStatus::newEmpty( true );
$this->assertFalse( $status->failedBecausePageExists() );
$status->fatal( 'blabla' );
$this->assertFalse( $status->failedBecausePageExists() );
$status->fatal( 'edit-already-exists' );
$this->assertTrue( $status->failedBecausePageExists() );
}
public function testFailedBecausePageMissing() {
$status = PageUpdateStatus::newEmpty( false );
$this->assertFalse( $status->failedBecausePageMissing() );
$status->fatal( 'blabla' );
$this->assertFalse( $status->failedBecausePageMissing() );
$status->fatal( 'edit-gone-missing' );
$this->assertTrue( $status->failedBecausePageMissing() );
}
public function testFailedBecauseOfConflict() {
$status = PageUpdateStatus::newEmpty( false );
$this->assertFalse( $status->failedBecauseOfConflict() );
$status->fatal( 'blabla' );
$this->assertFalse( $status->failedBecauseOfConflict() );
$status->fatal( 'edit-conflict' );
$this->assertTrue( $status->failedBecauseOfConflict() );
}
}
|