X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=tests%2Fphpunit%2Fincludes%2FTitleTest.php;h=d12e4b864380272b6c84da1e3c427ac96bbc363e;hp=b0febe8d5fdcce29a75e8ca8e79bccde6230a2f1;hb=0c77841534d9139b0042696fe015a15d3e349ef5;hpb=7320a9577e882fbeacb1772977fbfecf8aa5424d diff --git a/tests/phpunit/includes/TitleTest.php b/tests/phpunit/includes/TitleTest.php index b0febe8d5f..d12e4b8643 100644 --- a/tests/phpunit/includes/TitleTest.php +++ b/tests/phpunit/includes/TitleTest.php @@ -282,7 +282,6 @@ class TitleTest extends MediaWikiTestCase { /** * Auth-less test of Title::isValidMoveOperation * - * @group Database * @param string $source * @param string $target * @param array|string|bool $expected Required error @@ -553,6 +552,7 @@ class TitleTest extends MediaWikiTestCase { } /** + * @covers Title::newFromTitleValue * @dataProvider provideNewFromTitleValue */ public function testNewFromTitleValue( TitleValue $value ) { @@ -573,6 +573,7 @@ class TitleTest extends MediaWikiTestCase { } /** + * @covers Title::getTitleValue * @dataProvider provideGetTitleValue */ public function testGetTitleValue( $text ) { @@ -604,6 +605,7 @@ class TitleTest extends MediaWikiTestCase { } /** + * @covers Title::getFragment * @dataProvider provideGetFragment * * @param string $full @@ -912,4 +914,55 @@ class TitleTest extends MediaWikiTestCase { public function testGetPrefixedDBKey( Title $title, $expected ) { $this->assertEquals( $expected, $title->getPrefixedDBkey() ); } + + /** + * @covers Title::getFragmentForURL + * @dataProvider provideGetFragmentForURL + * + * @param string $titleStr + * @param string $expected + */ + public function testGetFragmentForURL( $titleStr, $expected ) { + $this->setMwGlobals( [ + 'wgFragmentMode' => [ 'html5' ], + 'wgExternalInterwikiFragmentMode' => 'legacy', + ] ); + $dbw = wfGetDB( DB_MASTER ); + $dbw->insert( 'interwiki', + [ + [ + 'iw_prefix' => 'de', + 'iw_url' => 'http://de.wikipedia.org/wiki/', + 'iw_api' => 'http://de.wikipedia.org/w/api.php', + 'iw_wikiid' => 'dewiki', + 'iw_local' => 1, + 'iw_trans' => 0, + ], + [ + 'iw_prefix' => 'zz', + 'iw_url' => 'http://zzwiki.org/wiki/', + 'iw_api' => 'http://zzwiki.org/w/api.php', + 'iw_wikiid' => 'zzwiki', + 'iw_local' => 0, + 'iw_trans' => 0, + ], + ], + __METHOD__, + [ 'IGNORE' ] + ); + + $title = Title::newFromText( $titleStr ); + self::assertEquals( $expected, $title->getFragmentForURL() ); + + $dbw->delete( 'interwiki', '*', __METHOD__ ); + } + + public function provideGetFragmentForURL() { + return [ + [ 'Foo', '' ], + [ 'Foo#ümlåût', '#ümlåût' ], + [ 'de:Foo#Bå®', '#Bå®' ], + [ 'zz:Foo#тест', '#.D1.82.D0.B5.D1.81.D1.82' ], + ]; + } }