X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=tests%2Fphpunit%2Fincludes%2FTitleTest.php;h=b0febe8d5fdcce29a75e8ca8e79bccde6230a2f1;hb=9de578da93ec2b649340e5512db61618cc12e442;hp=c06a2e4f1c9879ec11edbf73a8b0e8740f2f87ad;hpb=b4ba469f260efe4bc1254c08cf70771b33c328fd;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/includes/TitleTest.php b/tests/phpunit/includes/TitleTest.php index c06a2e4f1c..b0febe8d5f 100644 --- a/tests/phpunit/includes/TitleTest.php +++ b/tests/phpunit/includes/TitleTest.php @@ -637,6 +637,28 @@ class TitleTest extends MediaWikiTestCase { ]; } + /** + * @covers Title::isValid + * @dataProvider provideIsValid + * @param Title $title + * @param bool $isValid + */ + public function testIsValid( Title $title, $isValid ) { + $this->assertEquals( $isValid, $title->isValid(), $title->getPrefixedText() ); + } + + public static function provideIsValid() { + return [ + [ Title::makeTitle( NS_MAIN, '' ), false ], + [ Title::makeTitle( NS_MAIN, '<>' ), false ], + [ Title::makeTitle( NS_MAIN, '|' ), false ], + [ Title::makeTitle( NS_MAIN, '#' ), false ], + [ Title::makeTitle( NS_MAIN, 'Test' ), true ], + [ Title::makeTitle( -33, 'Test' ), false ], + [ Title::makeTitle( 77663399, 'Test' ), false ], + ]; + } + /** * @covers Title::isAlwaysKnown */ @@ -716,6 +738,58 @@ class TitleTest extends MediaWikiTestCase { $this->assertSame( $expected, $actual, $title->getPrefixedDBkey() ); } + public static function provideGetTalkPage_good() { + return [ + [ Title::makeTitle( NS_MAIN, 'Test' ), Title::makeTitle( NS_TALK, 'Test' ) ], + [ Title::makeTitle( NS_TALK, 'Test' ), Title::makeTitle( NS_TALK, 'Test' ) ], + ]; + } + + /** + * @dataProvider provideGetTalkPage_good + * @covers Title::getTalkPage + */ + public function testGetTalkPage_good( Title $title, Title $expected ) { + $talk = $title->getTalkPage(); + $this->assertSame( + $expected->getPrefixedDBKey(), + $talk->getPrefixedDBKey(), + $title->getPrefixedDBKey() + ); + } + + /** + * @dataProvider provideGetTalkPage_good + * @covers Title::getTalkPageIfDefined + */ + public function testGetTalkPageIfDefined_good( Title $title ) { + $talk = $title->getTalkPageIfDefined(); + $this->assertInstanceOf( + Title::class, + $talk, + $title->getPrefixedDBKey() + ); + } + + public static function provideGetTalkPage_bad() { + return [ + [ Title::makeTitle( NS_SPECIAL, 'Test' ) ], + [ Title::makeTitle( NS_MEDIA, 'Test' ) ], + ]; + } + + /** + * @dataProvider provideGetTalkPage_bad + * @covers Title::getTalkPageIfDefined + */ + public function testGetTalkPageIfDefined_bad( Title $title ) { + $talk = $title->getTalkPageIfDefined(); + $this->assertNull( + $talk, + $title->getPrefixedDBKey() + ); + } + public function provideCreateFragmentTitle() { return [ [ Title::makeTitle( NS_MAIN, 'Test' ), 'foo' ],