Revisions: Style action links in old revision notices as links
[mediawiki.git] / tests / phpunit / includes / linker / LinkTargetStoreTest.php
blob3f8de603ed2006ae0b2562be1f216568728f12ad
1 <?php
3 use MediaWiki\Title\TitleValue;
5 /**
6 * @group Database
7 * @covers \MediaWiki\Linker\LinkTargetStore
8 */
9 class LinkTargetStoreTest extends MediaWikiIntegrationTestCase {
11 public static function provideLinkTargets() {
12 yield [ new TitleValue( NS_SPECIAL, 'BlankPage' ) ];
13 yield [ new TitleValue( NS_MAIN, 'Foobar' ) ];
14 yield [ new TitleValue( NS_USER, 'Someuser' ) ];
17 /**
18 * @dataProvider provideLinkTargets
19 * @covers \MediaWiki\Linker\LinkTargetStore::acquireLinkTargetId
21 public function testAcquireLinkTargetId( $target ) {
22 $linkTargetStore = $this->getServiceContainer()->getLinkTargetLookup();
23 $db = $this->getDb();
24 $id = $linkTargetStore->acquireLinkTargetId( $target, $db );
25 $row = $db->newSelectQueryBuilder()
26 ->select( [ 'lt_id', 'lt_namespace', 'lt_title' ] )
27 ->from( 'linktarget' )
28 ->where( [ 'lt_namespace' => $target->getNamespace(), 'lt_title' => $target->getDBkey() ] )
29 ->fetchRow();
30 $this->assertSame( (int)$row->lt_id, $id );
33 /**
34 * @dataProvider provideLinkTargets
35 * @covers \MediaWiki\Linker\LinkTargetStore::acquireLinkTargetId
36 * @covers \MediaWiki\Linker\LinkTargetStore::getLinkTargetById
38 public function testGetLinkTargetById( $target ) {
39 $linkTargetStore = $this->getServiceContainer()->getLinkTargetLookup();
40 $db = $this->getDb();
41 $id = $linkTargetStore->acquireLinkTargetId( $target, $db );
42 $actualLinkTarget = $linkTargetStore->getLinkTargetById( $id, $db );
43 $this->assertEquals( $target, $actualLinkTarget );
46 /**
47 * @dataProvider provideLinkTargets
48 * @covers \MediaWiki\Linker\LinkTargetStore::acquireLinkTargetId
49 * @covers \MediaWiki\Linker\LinkTargetStore::getLinkTargetById
51 public function testGetLinkTargetByIdWithoutCache( $target ) {
52 $linkTargetStore = $this->getServiceContainer()->getLinkTargetLookup();
53 $db = $this->getDb();
54 $id = $linkTargetStore->acquireLinkTargetId( $target, $db );
55 $linkTargetStore->clearClassCache();
56 $actualLinkTarget = $linkTargetStore->getLinkTargetById( $id, $db );
57 $this->assertEquals( $target, $actualLinkTarget );