From 5c3dac9dc336d46ee3ce5362dc03466cc6300dcf Mon Sep 17 00:00:00 2001 From: Daniel Kraus Date: Tue, 30 Mar 2021 21:09:54 +0200 Subject: [PATCH] Fix tests. --- tests/phpunit/LinkerTest.php | 7 ++++--- tests/phpunit/SplitterTest.php | 38 +++++++++++++++++++--------------- tests/phpunit/TargetTest.php | 32 ++++++++++++++++------------ tests/phpunit/TestCase.php | 6 ++++-- 4 files changed, 48 insertions(+), 35 deletions(-) diff --git a/tests/phpunit/LinkerTest.php b/tests/phpunit/LinkerTest.php index 31ce2ca..b084861 100644 --- a/tests/phpunit/LinkerTest.php +++ b/tests/phpunit/LinkerTest.php @@ -37,7 +37,8 @@ class LinkTitlesLinkerTest extends LinkTitles\TestCase { protected $title; - protected function setUp() { + protected function setUp(): void + { parent::setUp(); // call last to have the Targets object invalidated after inserting the page } @@ -315,13 +316,13 @@ class LinkTitlesLinkerTest extends LinkTitles\TestCase { // Reset namespace caches. // See https://stackoverflow.com/q/45974979/270712 - MWNamespace::getCanonicalNamespaces( true ); + \MWNamespace::getCanonicalNamespaces(true); global $wgContLang; $wgContLang->resetNamespaces(); $this->assertTrue( MWNamespace::exists( $ns ), "The namespace with id $ns should exist!" ); $this->insertPage( "in custom namespace", 'This is a page in a custom namespace', $ns ); - LinKTitles\Targets::invalidate(); + LinkTitles\Targets::invalidate(); $linker = new LinkTitles\Linker( $config ); $source = LinkTitles\Source::createFromTitleAndText( $this->title, $input, $config ); $result = $linker->linkContent( $source ); diff --git a/tests/phpunit/SplitterTest.php b/tests/phpunit/SplitterTest.php index 28f3348..02252e7 100644 --- a/tests/phpunit/SplitterTest.php +++ b/tests/phpunit/SplitterTest.php @@ -1,4 +1,5 @@ ('bovender') * @@ -25,78 +26,81 @@ * * @group bovender */ -class SplitterTest extends MediaWikiTestCase { +class SplitterTest extends \MediaWikiTestCase +{ /** * @dataProvider provideSplitData */ - public function testSplit( $skipTemplates, $parseHeadings, $input, $expectedOutput ) { + public function testSplit($skipTemplates, $parseHeadings, $input, $expectedOutput) + { $config = new LinkTitles\Config(); $config->skipTemplates = $skipTemplates; $config->parseHeadings = $parseHeadings; LinkTitles\Splitter::invalidate(); - $splitter = LinkTitles\Splitter::singleton( $config ); - $this->assertSame( $skipTemplates, $splitter->config->skipTemplates, 'Splitter has incorrect skipTemplates config'); - $this->assertSame( $parseHeadings, $splitter->config->parseHeadings, 'Splitter has incorrect parseHeadings config'); - $this->assertSame( $expectedOutput, $splitter->split( $input ) ); + $splitter = LinkTitles\Splitter::singleton($config); + $this->assertSame($skipTemplates, $splitter->config->skipTemplates, 'Splitter has incorrect skipTemplates config'); + $this->assertSame($parseHeadings, $splitter->config->parseHeadings, 'Splitter has incorrect parseHeadings config'); + $this->assertSame($expectedOutput, $splitter->split($input)); } // TODO: Add more examples. - public static function provideSplitData() { + public static function provideSplitData() + { return [ [ true, // skipTemplates false, // parseHeadings 'this may be linked [[this may not be linked]]', - [ 'this may be linked ', '[[this may not be linked]]', '' ] + ['this may be linked ', '[[this may not be linked]]', ''] ], [ true, // skipTemplates false, // parseHeadings 'this may be linked this may not be linked', - [ 'this may be linked ', 'this may not be linked', '' ] + ['this may be linked ', 'this may not be linked', ''] ], [ true, // skipTemplates false, // parseHeadings 'With skipTemplates = true, this may be linked {{mytemplate|param=link target}}', - [ 'With skipTemplates = true, this may be linked ', '{{mytemplate|param=link target}}', '' ] + ['With skipTemplates = true, this may be linked ', '{{mytemplate|param=link target}}', ''] ], [ false, // skipTemplates false, // parseHeadings 'With skipTemplates = false, this may be linked {{mytemplate|param=link target}}', - [ 'With skipTemplates = false, this may be linked ', '{{mytemplate|param=', 'link target}}' ] + ['With skipTemplates = false, this may be linked ', '{{mytemplate|param=', 'link target}}'] ], [ true, // skipTemplates false, // parseHeadings 'With skipTemplates = true, this may be linked {{mytemplate|param={{transcluded}}}}', - [ 'With skipTemplates = true, this may be linked ', '{{mytemplate|param={{transcluded}}}}', '' ] + ['With skipTemplates = true, this may be linked ', '{{mytemplate|param={{transcluded}}}}', ''] ], [ true, // skipTemplates true, // parseHeadings "With parseHeadings = true,\n==a heading may be linked==\n", - [ "With parseHeadings = true,\n==a heading may be linked==\n" ] + ["With parseHeadings = true,\n==a heading may be linked==\n"] ], [ true, // skipTemplates false, // parseHeadings // no trailing newline in the following string because it would be swallowed "With parseHeadings = false,\n==a heading may not be linked==", - [ "With parseHeadings = false,\n", "==a heading may not be linked==", '' ] + ["With parseHeadings = false,\n", "==a heading may not be linked==", ''] ], [ true, // skipTemplates true, // parseHeadings "With parseHeadings = true,\n==a heading with spans may be linked==\n", - [ "With parseHeadings = true,\n==", "", "a heading with spans may be linked", "", "==\n" ] + ["With parseHeadings = true,\n==", "", "a heading with spans may be linked", "", "==\n"] ], [ true, // skipTemplates true, // parseHeadings "With parseHeadings = true,\n==
a heading with divs may be linked
==\n", - [ "With parseHeadings = true,\n==", "
", "a heading with divs may be linked", "
", "==\n" ] + ["With parseHeadings = true,\n==", "
", "a heading with divs may be linked", "
", "==\n"] ], // Improperly formatted headings cannot be dealt with appropriately for now // [ @@ -109,7 +113,7 @@ class SplitterTest extends MediaWikiTestCase { true, // skipTemplates true, // parseHeadings "Text in noautolinks tagshould be excluded", - [ "Text ", "in noautolinks tag", "should be excluded" ] + ["Text ", "in noautolinks tag", "should be excluded"] ], ]; } diff --git a/tests/phpunit/TargetTest.php b/tests/phpunit/TargetTest.php index 8b3a282..cd35a20 100644 --- a/tests/phpunit/TargetTest.php +++ b/tests/phpunit/TargetTest.php @@ -1,4 +1,5 @@ ('bovender') * @@ -23,39 +24,44 @@ /** * @group bovender */ -class TargetTest extends MediaWikiTestCase { +class TargetTest extends \MediaWikiTestCase +{ /** * @dataProvider provideStartOnly */ - public function testTargetWordStartOnly( $enabled, $delimiter ) { + public function testTargetWordStartOnly($enabled, $delimiter) + { $config = new LinkTitles\Config(); $config->wordStartOnly = $enabled; - $target = new LinKTitles\Target( NS_MAIN, 'test page', $config ); - $this->assertSame( $delimiter, $target->wordStart ); + $target = new LinKTitles\Target(NS_MAIN, 'test page', $config); + $this->assertSame($delimiter, $target->wordStart); } - public static function provideStartOnly() { + public static function provideStartOnly() + { return [ - [ true, '(?wordEndOnly = $enabled; - $target = new LinKTitles\Target( NS_MAIN, 'test page', $config ); - $this->assertSame( $delimiter, $target->wordEnd ); + $target = new LinKTitles\Target(NS_MAIN, 'test page', $config); + $this->assertSame($delimiter, $target->wordEnd); } - public static function provideEndOnly() { + public static function provideEndOnly() + { return [ - [ true, '(?!\pL|\pN)' ], - [ false, '' ] + [true, '(?!\pL|\pN)'], + [false, ''] ]; } } diff --git a/tests/phpunit/TestCase.php b/tests/phpunit/TestCase.php index e41fbde..cadf370 100644 --- a/tests/phpunit/TestCase.php +++ b/tests/phpunit/TestCase.php @@ -22,11 +22,13 @@ namespace LinkTitles; abstract class TestCase extends \MediaWikiTestCase { - protected function setUp() { + protected function setUp(): void + { parent::setUp(); } - protected function tearDown() { + protected function tearDown(): void + { parent::tearDown(); }