Merge branch 'release-5.0.7'

This commit is contained in:
Daniel Kraus
2018-06-27 21:34:24 +02:00
6 changed files with 52 additions and 6 deletions

8
NEWS
View File

@ -1,3 +1,11 @@
Version 5.0.7 (2018-06-27)
------------------------------------------------------------------------
- Fix: Improve handling of page titles that start or end with numbers.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Version 5.0.6 (2018-06-20)
------------------------------------------------------------------------

View File

@ -10,7 +10,7 @@
],
"type": "parserhook",
"url": "https://www.mediawiki.org/wiki/Extension:LinkTitles",
"version": "5.0.6",
"version": "5.0.7",
"license-name": "GPL-2.0+",
"descriptionmsg": "linktitles-desc",
"requires": {

View File

@ -81,8 +81,8 @@ class Target {
// to detect whole words containing non-ASCII characters as well.
// Note that this requires a PCRE library that was compiled with
// --enable-unicode-properties
( $config->wordStartOnly ) ? $this->wordStart = '(?<!\pL)' : $this->wordStart = '';
( $config->wordEndOnly ) ? $this->wordEnd = '(?!\pL)' : $this->wordEnd = '';
( $config->wordStartOnly ) ? $this->wordStart = '(?<!\pL|\pN)' : $this->wordStart = '';
( $config->wordEndOnly ) ? $this->wordEnd = '(?!\pL|\pN)' : $this->wordEnd = '';
}
/**

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, '' ]
];
}