summaryrefslogtreecommitdiff
path: root/tests/phpunit/skins/SideBarTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/phpunit/skins/SideBarTest.php')
-rw-r--r--tests/phpunit/skins/SideBarTest.php75
1 files changed, 38 insertions, 37 deletions
diff --git a/tests/phpunit/skins/SideBarTest.php b/tests/phpunit/skins/SideBarTest.php
index 3902b686..a385320f 100644
--- a/tests/phpunit/skins/SideBarTest.php
+++ b/tests/phpunit/skins/SideBarTest.php
@@ -5,7 +5,10 @@
*/
class SideBarTest extends MediaWikiLangTestCase {
- /** A skin template, reinitialized before each test */
+ /**
+ * A skin template, reinitialized before each test
+ * @var SkinTemplate
+ */
private $skin;
/** Local cache for sidebar messages */
private $messages;
@@ -36,16 +39,12 @@ class SideBarTest extends MediaWikiLangTestCase {
$this->skin->getContext()->setLanguage( Language::factory( 'en' ) );
}
- protected function tearDown() {
- parent::tearDown();
- $this->skin = null;
- }
-
/**
* Internal helper to test the sidebar
* @param $expected
* @param $text
* @param $message (Default: '')
+ * @todo this assert method to should be converted to a test using a dataprovider..
*/
private function assertSideBar( $expected, $text, $message = '' ) {
$bar = array();
@@ -53,7 +52,10 @@ class SideBarTest extends MediaWikiLangTestCase {
$this->assertEquals( $expected, $bar, $message );
}
- function testSidebarWithOnlyTwoTitles() {
+ /**
+ * @covers SkinTemplate::addToSidebarPlain
+ */
+ public function testSidebarWithOnlyTwoTitles() {
$this->assertSideBar(
array(
'Title1' => array(),
@@ -65,7 +67,10 @@ class SideBarTest extends MediaWikiLangTestCase {
);
}
- function testExpandMessages() {
+ /**
+ * @covers SkinTemplate::addToSidebarPlain
+ */
+ public function testExpandMessages() {
$this->assertSidebar(
array( 'Title' => array(
array(
@@ -81,7 +86,10 @@ class SideBarTest extends MediaWikiLangTestCase {
);
}
- function testExternalUrlsRequireADescription() {
+ /**
+ * @covers SkinTemplate::addToSidebarPlain
+ */
+ public function testExternalUrlsRequireADescription() {
$this->assertSidebar(
array( 'Title' => array(
# ** http://www.mediawiki.org/| Home
@@ -100,14 +108,14 @@ class SideBarTest extends MediaWikiLangTestCase {
** http://valid.no.desc.org/
'
);
-
}
/**
* bug 33321 - Make sure there's a | after transforming.
* @group Database
+ * @covers SkinTemplate::addToSidebarPlain
*/
- function testTrickyPipe() {
+ public function testTrickyPipe() {
$this->assertSidebar(
array( 'Title' => array(
# The first 2 are skipped
@@ -116,13 +124,13 @@ class SideBarTest extends MediaWikiLangTestCase {
# ** Baz|Fred
array(
'text' => 'Fred',
- 'href' => Title::newFromText( 'Baz' )->getLocalUrl(),
+ 'href' => Title::newFromText( 'Baz' )->getLocalURL(),
'id' => 'n-Fred',
'active' => null,
),
array(
'text' => 'title-to-display',
- 'href' => Title::newFromText( 'page-to-go-to' )->getLocalUrl(),
+ 'href' => Title::newFromText( 'page-to-go-to' )->getLocalURL(),
'id' => 'n-title-to-display',
'active' => null,
),
@@ -151,11 +159,12 @@ class SideBarTest extends MediaWikiLangTestCase {
/**
* Simple test to verify our helper assertAttribs() is functional
- * Please note this assume MediaWiki default settings:
- * $wgNoFollowLinks = true
- * $wgExternalLinkTarget = false
*/
- function testTestAttributesAssertionHelper() {
+ public function testTestAttributesAssertionHelper() {
+ $this->setMwGlobals( array(
+ 'wgNoFollowLinks' => true,
+ 'wgExternalLinkTarget' => false,
+ ) );
$attribs = $this->getAttribs();
$this->assertArrayHasKey( 'rel', $attribs );
@@ -167,39 +176,31 @@ class SideBarTest extends MediaWikiLangTestCase {
/**
* Test $wgNoFollowLinks in sidebar
*/
- function testRespectWgnofollowlinks() {
- global $wgNoFollowLinks;
- $saved = $wgNoFollowLinks;
- $wgNoFollowLinks = false;
+ public function testRespectWgnofollowlinks() {
+ $this->setMwGlobals( 'wgNoFollowLinks', false );
$attribs = $this->getAttribs();
$this->assertArrayNotHasKey( 'rel', $attribs,
'External URL in sidebar do not have rel=nofollow when $wgNoFollowLinks = false'
);
-
- // Restore global
- $wgNoFollowLinks = $saved;
}
/**
* Test $wgExternaLinkTarget in sidebar
+ * @dataProvider dataRespectExternallinktarget
*/
- function testRespectExternallinktarget() {
- global $wgExternalLinkTarget;
- $saved = $wgExternalLinkTarget;
+ public function testRespectExternallinktarget( $externalLinkTarget ) {
+ $this->setMwGlobals( 'wgExternalLinkTarget', $externalLinkTarget );
- $wgExternalLinkTarget = '_blank';
$attribs = $this->getAttribs();
$this->assertArrayHasKey( 'target', $attribs );
- $this->assertEquals( $attribs['target'], '_blank' );
-
- $wgExternalLinkTarget = '_self';
- $attribs = $this->getAttribs();
- $this->assertArrayHasKey( 'target', $attribs );
- $this->assertEquals( $attribs['target'], '_self' );
-
- // Restore global
- $wgExternalLinkTarget = $saved;
+ $this->assertEquals( $attribs['target'], $externalLinkTarget );
}
+ public static function dataRespectExternallinktarget() {
+ return array(
+ array( '_blank' ),
+ array( '_self' ),
+ );
+ }
}