Linker tests.

This commit is contained in:
Daniel Kraus
2017-08-28 19:03:11 +02:00
parent 0d9e74d7e9
commit 33df917af1
2 changed files with 90 additions and 1 deletions

View File

@ -3,7 +3,7 @@
* @group bovender * @group bovender
* @group Database * @group Database
*/ */
class ParseOnEditTest extends LinkTitles\TestCase { class ExtensionTest extends LinkTitles\TestCase {
public function testParseOnEdit() { public function testParseOnEdit() {
$this->setMwGlobals( [ $this->setMwGlobals( [

View File

@ -0,0 +1,89 @@
<?php
/**
* @group bovender
* @group Database
*/
class LinkTitlesLinkerTest extends LinkTitles\TestCase {
protected $title;
protected function setUp() {
$this->title = $this->insertPage( 'source page', 'This page is the test page' )['title'];
parent::setUp(); // call last to have the Targets object invalidated after inserting the page
}
/**
* @dataProvider provideLinkContentSmartModeData
*/
public function testLinkContentSmartMode( $capitalLinks, $smartMode, $input, $expectedOutput) {
$this->setMwGlobals( 'wgCapitalLinks', $capitalLinks );
$config = new LinkTitles\Config();
$config->smartMode = $smartMode;
$linker = new LinkTitles\Linker( $config );
$this->assertSame( $expectedOutput, $linker->linkContent( $this->title, $input ));
}
public static function provideLinkContentSmartModeData() {
return [
[
true, // wgCapitalLinks
true, // smartMode
'With smart mode on and $wgCapitalLinks = true, this page should link to link target',
'With smart mode on and $wgCapitalLinks = true, this page should link to [[link target]]'
],
[
true, // wgCapitalLinks
false, // smartMode
'With smart mode off and $wgCapitalLinks = true, this page should link to link target',
'With smart mode off and $wgCapitalLinks = true, this page should link to [[link target]]'
],
[
true, // wgCapitalLinks
true, // smartMode
'With smart mode on and $wgCapitalLinks = true, this page should link to Link Target',
'With smart mode on and $wgCapitalLinks = true, this page should link to [[Link target|Link Target]]'
],
[
true, // wgCapitalLinks
false, // smartMode
'With smart mode off and $wgCapitalLinks = true, this page should not link to Link Target',
'With smart mode off and $wgCapitalLinks = true, this page should not link to Link Target'
],
[
false, // wgCapitalLinks
true, // smartMode
'With smart mode on and $wgCapitalLinks = false, this page should link to Link target',
'With smart mode on and $wgCapitalLinks = false, this page should link to [[Link target]]'
],
[
false, // wgCapitalLinks
true, // smartMode
'With smart mode on and $wgCapitalLinks = false, this page should link to link target',
'With smart mode on and $wgCapitalLinks = false, this page should link to [[Link target|link target]]'
],
[
false, // wgCapitalLinks
false, // smartMode
'With smart mode off and $wgCapitalLinks = false, this page should not link to link target',
'With smart mode off and $wgCapitalLinks = false, this page should not link to link target'
],
[
false, // wgCapitalLinks
false, // smartMode
'With smart mode off and $wgCapitalLinks = false, this page should not link to Link target',
'With smart mode off and $wgCapitalLinks = false, this page should not link to [[Link target]]'
],
[
false, // wgCapitalLinks
true, // smartMode
'With smart mode on and $wgCapitalLinks = false, this page should link to Link Target',
'With smart mode on and $wgCapitalLinks = false, this page should link to [[Link target|Link Target]]'
],
[
false, // wgCapitalLinks
false, // smartMode
'With smart mode off and $wgCapitalLinks = false, this page should not link to Link Target',
'With smart mode off and $wgCapitalLinks = false, this page should not link to Link Target'
],
];
}
}