| Current File : /home/jvzmxxx/wiki/extensions/Wikibase/client/tests/phpunit/includes/Store/TitleFactoryTest.php |
<?php
namespace Wikibase\Client\Tests\Store;
use Title;
use Wikibase\Client\Store\TitleFactory;
use Wikibase\Lib\Store\StorageException;
use WikiPage;
use WikitextContent;
/**
* @covers Wikibase\Client\Store\TitleFactory
*
* @group Database
* @group Wikibase
* @group WikibaseClient
* @group WikibaseClientStore
*
* @license GPL-2.0+
* @author Daniel Kinzler
*/
class TitleFactoryTest extends \MediaWikiTestCase {
private function makePage( $name ) {
$title = Title::makeTitle( NS_HELP, $name );
$page = new WikiPage( $title );
if ( !$page->exists() ) {
$content = new WikitextContent( $name );
$status = $page->doEditContent( $content, $name, EDIT_NEW );
if ( !$status->isOK() ) {
throw new StorageException( 'Failed to create page ' . $name );
}
}
return $title;
}
public function testNewFromID() {
$orignalTitle = $this->makePage( 'TitleFactoryTest-testNewFromID' );
$pageId = $orignalTitle->getArticleID();
$factory = new TitleFactory();
$title = $factory->newFromID( $pageId );
$this->assertEquals( $orignalTitle->getFullText(), $title->getFullText() );
}
public function testNewFromText() {
$name = 'TitleFactoryTest-testNewFromText';
$factory = new TitleFactory();
$title = $factory->newFromText( $name, NS_HELP );
$this->assertEquals( NS_HELP, $title->getNamespace() );
$this->assertEquals( $name, $title->getText() );
}
public function testMakeTitle() {
$ns = NS_HELP;
$name = 'TitleFactoryTest-testMakeTitle';
$fragment = 'Synopsis';
$factory = new TitleFactory();
$title = $factory->makeTitle( $ns, $name, $fragment );
$this->assertEquals( $ns, $title->getNamespace() );
$this->assertEquals( $name, $title->getText() );
$this->assertEquals( $fragment, $title->getFragment() );
}
public function testMakeTitleSafe() {
$ns = NS_HELP;
$name = 'TitleFactoryTest-testMakeTitleSafe';
$fragment = 'Synopsis';
$factory = new TitleFactory();
$title = $factory->makeTitleSafe( $ns, $name, $fragment );
$this->assertEquals( $ns, $title->getNamespace() );
$this->assertEquals( $name, $title->getText() );
$this->assertEquals( $fragment, $title->getFragment() );
}
}