Fix handling of target titles with numbers.

- Fix: Improve handling of page titles that start or end with numbers.
This commit is contained in:
Daniel Kraus
2018-06-27 21:31:16 +02:00
parent f2633fa78e
commit 7a69e87a8d
3 changed files with 42 additions and 4 deletions

View File

@ -47,6 +47,44 @@ class LinkTitlesLinkerTest extends LinkTitles\TestCase {
parent::addDBDataOnce(); // call parent after adding page to have targets invalidated
}
/**
* @dataProvider provideTestTitleWithNumberData
*/
public function testTitleWithNumber( $input, $expectedOutput ) {
$config = new LinkTitles\Config();
$config->wordStartOnly = true;
$config->wordEndOnly = true;
$this->insertPage( 'numbered-1', 'This page serves as a link target with a numbered title' );
$this->insertPage( 'numbered-101', 'This page serves as a link target with a numbered title' );
parent::addDBDataOnce(); // call parent after adding page to have targets invalidated
$source = LinkTitles\Source::createFromTitleAndText( $this->title, $input, $config );
$linker = new LinkTitles\Linker( $config );
$result = $linker->linkContent( $source );
if ( !$result ) { $result = $input; }
$this->assertSame( $expectedOutput, $result );
}
public function provideTestTitleWithNumberData() {
return [
[
"Page text with numbered-1 in it.",
"Page text with [[numbered-1]] in it.",
],
[
"Page text with numbered-101 in it.",
"Page text with [[numbered-101]] in it.",
],
[
"Page text with numbered-1010 in it.",
"Page text with numbered-1010 in it.",
],
[
"Page text with link target1 in it.",
"Page text with link target1 in it.",
],
];
}
/**
* @dataProvider provideLinkContentTemplatesData
*/

View File

@ -37,7 +37,7 @@ class TargetTest extends MediaWikiTestCase {
public static function provideStartOnly() {
return [
[ true, '(?<!\pL)' ],
[ true, '(?<!\pL|\pN)' ],
[ false, '' ]
];
}
@ -54,7 +54,7 @@ class TargetTest extends MediaWikiTestCase {
public static function provideEndOnly() {
return [
[ true, '(?!\pL)' ],
[ true, '(?!\pL|\pN)' ],
[ false, '' ]
];
}