Jdlrobson has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/365686 )

Change subject: Temporarily remove broken test
......................................................................

Temporarily remove broken test

This test is causing T170624 which is now blocking the train
We'll remove it from wmf9 and then make sure we get a real fix in
master in time for next train.

Change-Id: Iad58780e6be4952241a97dd8181864475b513572
---
D tests/phpunit/skins/SkinMinervaTest.php
1 file changed, 0 insertions(+), 406 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/skins/MinervaNeue 
refs/changes/86/365686/1

diff --git a/tests/phpunit/skins/SkinMinervaTest.php 
b/tests/phpunit/skins/SkinMinervaTest.php
deleted file mode 100644
index 7970ed6..0000000
--- a/tests/phpunit/skins/SkinMinervaTest.php
+++ /dev/null
@@ -1,406 +0,0 @@
-<?php
-
-namespace Tests\MobileFrontend\Skins;
-
-use MediaWikiTestCase;
-use MobileUI;
-use MWTimestamp;
-use OutputPage;
-use QuickTemplate;
-use RequestContext;
-use SkinMinerva;
-use SpecialPage;
-use Title;
-use User;
-use Wikimedia\TestingAccessWrapper;
-
-class Template extends QuickTemplate {
-       public function execute() {
-       }
-}
-
-class EchoNotifUser {
-       public function __construct( $echoLastUnreadNotificationTime, 
$echoNotificationCount ) {
-               $this->echoLastUnreadNotificationTime = 
$echoLastUnreadNotificationTime;
-               $this->echoNotificationCount = $echoNotificationCount;
-       }
-       public function getLastUnreadNotificationTime() {
-               return $this->echoLastUnreadNotificationTime;
-       }
-       public function getNotificationCount() {
-               return $this->echoNotificationCount;
-       }
-}
-
-/**
- * @coversDefaultClass  SkinMinerva
- * @group MobileFrontend
- */
-class SkinMinervaTest extends MediaWikiTestCase {
-
-       /**
-        * @covers ::addToBodyAttributes
-        */
-       public function testAddToBodyAttributes() {
-               // The `class` attribute gets set to the "bodyClassName" 
property by
-               // default.
-               $this->assertContains(
-                       'no-js',
-                       $this->addToBodyAttributes( 'no-js', false )
-               );
-
-               $classes = $this->addToBodyAttributes( 'no-js', true );
-
-               $this->assertContains( 'no-js', $classes );
-       }
-
-       private function addToBodyAttributes(
-               $bodyClassName
-       ) {
-               $context = new RequestContext();
-               $context->setTitle( Title::newFromText( 'Test' ) );
-
-               $outputPage = $context->getOutput();
-               $outputPage->setProperty( 'bodyClassName', $bodyClassName );
-
-               $bodyAttrs = [ 'class' => '' ];
-
-               $skin = new SkinMinerva();
-               $skin->setContext( $context );
-               $skin->addToBodyAttributes( $outputPage, $bodyAttrs );
-
-               return explode( ' ', $bodyAttrs[ 'class' ] );
-       }
-
-       /**
-        * @covers ::setContext
-        * @covers ::setSkinOptions
-        * @covers ::hasCategoryLinks
-        */
-       public function testHasCategoryLinksWhenOptionIsOff() {
-               $outputPage = $this->getMockBuilder( OutputPage::class )
-                       ->disableOriginalConstructor()
-                       ->getMock();
-               $outputPage->expects( $this->never() )
-                       ->method( 'getCategoryLinks' );
-
-               $context = new RequestContext();
-               $context->setTitle( Title::newFromText( 'Test' ) );
-               $context->setOutput( $outputPage );
-
-               $skin = new SkinMinerva();
-               $skin->setContext( $context );
-               $skin->setSkinOptions( [ SkinMinerva::OPTION_CATEGORIES => 
false ] );
-
-               $skin = TestingAccessWrapper::newFromObject( $skin );
-
-               $this->assertEquals( $skin->hasCategoryLinks(), false );
-       }
-
-       /**
-        * @dataProvider provideHasCategoryLinks
-        * @param array $categoryLinks
-        * @param bool $expected
-        * @covers ::setContext
-        * @covers ::setSkinOptions
-        * @covers::hasCategoryLinks
-        */
-       public function testHasCategoryLinks( array $categoryLinks, $expected ) 
{
-               $outputPage = $this->getMockBuilder( OutputPage::class )
-                       ->disableOriginalConstructor()
-                       ->getMock();
-               $outputPage->expects( $this->once() )
-                       ->method( 'getCategoryLinks' )
-                       ->will( $this->returnValue( $categoryLinks ) );
-
-               $context = new RequestContext();
-               $context->setTitle( Title::newFromText( 'Test' ) );
-               $context->setOutput( $outputPage );
-
-               $skin = new SkinMinerva();
-               $skin->setContext( $context );
-               $skin->setSkinOptions( [ SkinMinerva::OPTION_CATEGORIES => true 
] );
-
-               $skin = TestingAccessWrapper::newFromObject( $skin );
-
-               $this->assertEquals( $skin->hasCategoryLinks(), $expected );
-       }
-
-       public function provideHasCategoryLinks() {
-               return [
-                       [ [], false ],
-                       [
-                               [
-                                       'normal' => '<ul><li><a 
href="/wiki/Category:1">1</a></li></ul>'
-                               ],
-                               true
-                       ],
-                       [
-                               [
-                                       'hidden' => '<ul><li><a 
href="/wiki/Category:Hidden">Hidden</a></li></ul>'
-                               ],
-                               true
-                       ],
-                       [
-                               [
-                                       'normal' => '<ul><li><a 
href="/wiki/Category:1">1</a></li></ul>',
-                                       'hidden' => '<ul><li><a 
href="/wiki/Category:Hidden">Hidden</a></li></ul>'
-                               ],
-                               true
-                       ],
-                       [
-                               [
-                                       'unexpected' => '<ul><li><a 
href="/wiki/Category:1">1</a></li></ul>'
-                               ],
-                               false
-                       ],
-               ];
-       }
-
-       /**
-        * Test whether the font changer module is correctly added to the list 
context modules
-        *
-        * @covers       ::getContextSpecificModules
-        * @dataProvider provideGetContextSpecificModules
-        * @param string $fontchangerValue whether font changer feature is 
enabled
-        * @param mixed  $backToTopValue whether back to top feature is enabled
-        * @param string $moduleName Module name that is being tested
-        * @param bool $expected Whether the module is expected to be returned 
by the function being tested
-        */
-       public function testGetContextSpecificModules( $fontchangerValue, 
$backToTopValue,
-               $moduleName, $expected
-       ) {
-               $skin = TestingAccessWrapper::newFromObject(
-                       $this->getMockBuilder( SkinMinerva::class )
-                               ->disableOriginalConstructor()
-                               ->setMethods( [ 'getTitle' ] )
-                               ->getMock()
-               );
-               $title = Title::newFromText( 'Test' );
-               $skin->expects( $this->any() )
-                       ->method( 'getTitle' )
-                       ->will( $this->returnValue( $title ) );
-
-               $skin->setSkinOptions( [
-                       'fontChanger' => $fontchangerValue,
-                       'backToTop' => $backToTopValue,
-               ] );
-
-               if ( $expected ) {
-                       $this->assertContains( $moduleName, 
$skin->getContextSpecificModules() );
-               } else {
-                       $this->assertNotContains( $moduleName, 
$skin->getContextSpecificModules() );
-               }
-       }
-
-       public function provideGetContextSpecificModules() {
-               return [
-                       [ true, false, 'skins.minerva.fontchanger', true ],
-                       [ false, true, 'skins.minerva.fontchanger', false ],
-                       [ false, true, 'skins.minerva.backtotop', true ],
-                       [ false, false, 'skins.minerva.backtotop', false ],
-               ];
-       }
-
-       /**
-        * Test the notification user button
-        *
-        * @covers ::prepareUserButton
-        * @dataProvider providePrepareUserButton
-        * @param array|string $expectedSecondaryButtonData Expected test case 
outcome
-        * @param string $message Test message
-        * @param Title $title
-        * @param bool $useEcho Whether to use Extension:Echo
-        * @param bool $isUserLoggedIn
-        * @param string $newtalks New talk page messages for the current user
-        * @param MWTimestamp|bool $echoLastUnreadNotificationTime Timestamp or 
false
-        * @param int|bool $echoNotificationCount
-        * @param string|bool $echoSeenTime String in format TS_ISO_8601 or 
false
-        * @param string|bool $formattedEchoNotificationCount
-        */
-       public function testPrepareUserButton(
-               $expectedSecondaryButtonData, $message, $title, $useEcho, 
$isUserLoggedIn,
-               $newtalks, $echoLastUnreadNotificationTime = false,
-               $echoNotificationCount = false, $echoSeenTime = false,
-               $formattedEchoNotificationCount = false
-       ) {
-               $user = $this->getMockBuilder( User::class )
-                       ->disableOriginalConstructor()
-                       ->setMethods( [ 'isLoggedIn' ] )
-                       ->getMock();
-               $user->expects( $this->any() )
-                       ->method( 'isLoggedIn' )
-                       ->will( $this->returnValue( $isUserLoggedIn ) );
-
-               $skin = TestingAccessWrapper::newFromObject(
-                       $this->getMockBuilder( SkinMinerva::class )
-                               ->disableOriginalConstructor()
-                               ->setMethods( [ 'getTitle', 'getUser', 
'getNewtalks', 'useEcho',
-                                                               
'getEchoNotifUser', 'getEchoSeenTime',
-                                                               
'getFormattedEchoNotificationCount' ] )
-                               ->getMock()
-               );
-               $skin->expects( $this->any() )
-                       ->method( 'getTitle' )
-                       ->will( $this->returnValue( $title ) );
-               $skin->expects( $this->any() )
-                       ->method( 'getUser' )
-                       ->will( $this->returnValue( $user ) );
-               $skin->expects( $this->any() )
-                       ->method( 'getNewtalks' )
-                       ->will( $this->returnValue( $newtalks ) );
-               $skin->expects( $this->any() )
-                       ->method( 'useEcho' )
-                       ->will( $this->returnValue( $useEcho ) );
-               $skin->expects( $this->any() )
-                       ->method( 'getEchoNotifUser' )
-                       ->will( $this->returnValue(
-                               new EchoNotifUser(
-                                       $echoLastUnreadNotificationTime, 
$echoNotificationCount
-                               )
-                       ) );
-               $skin->expects( $this->any() )
-                       ->method( 'getEchoSeenTime' )
-                       ->will( $this->returnValue( $echoSeenTime ) );
-               $skin->expects( $this->any() )
-                       ->method( 'getFormattedEchoNotificationCount' )
-                       ->will( $this->returnValue( 
$formattedEchoNotificationCount ) );
-
-               $tpl = new Template();
-               $skin->prepareUserButton( $tpl );
-               $this->assertEquals(
-                       $expectedSecondaryButtonData,
-                       $tpl->get( 'secondaryButtonData' ),
-                       $message
-               );
-       }
-
-       /**
-        * Utility function that returns the expected secondary button data 
given parameters
-        * @param Title $title Page title
-        * @param string $notificationsMsg
-        * @param string $notificationsTitle
-        * @param string $countLabel
-        * @param bool $isZero
-        * @param bool $hasUnseen
-        * @return array
-        */
-       private function getSecondaryButtonExpectedResult(
-               $title,
-               $notificationsMsg,
-               $notificationsTitle,
-               $countLabel,
-               $isZero,
-               $hasUnseen
-       ) {
-               return [
-                       'notificationIconClass' => MobileUI::iconClass( 
'notifications' ),
-                       'title' => $notificationsMsg,
-                       'url' => SpecialPage::getTitleFor( $notificationsTitle )
-                               ->getLocalURL(
-                                       [ 'returnto' => 
$title->getPrefixedText() ] ),
-                       'notificationCount' => $countLabel,
-                       'isNotificationCountZero' => $isZero,
-                       'hasNotifications' => $hasUnseen,
-                       'hasUnseenNotifications' => $hasUnseen
-               ];
-       }
-
-       /**
-        * Data provider for the test case testPrepareUserButton with Echo 
enabled
-        * @param Title @title Page title
-        * @return array
-        */
-       private function providePrepareUserButtonEcho( Title $title ) {
-               return [
-                       [ '', 'Echo, not logged in, no talk page alerts',
-                               $title, true, false, '' ],
-                       [ '', 'Echo, logged in, no talk page alerts',
-                               Title::newFromText( 'Special:Notifications' ), 
true, true, '' ],
-                       [ '', 'Echo, logged in, talk page alert',
-                               Title::newFromText( 'Special:Notifications' ), 
true, true,
-                               'newtalks alert' ],
-                       [ $this->getSecondaryButtonExpectedResult(
-                               $title,
-                               'Show my notifications',
-                               'Notifications',
-                               '99+',
-                               false,
-                               true
-                       ), 'Echo, logged in, no talk page alerts, 110 
notifications, ' +
-                               'last un-read nofication time after last echo 
seen time',
-                       $title, true, true, '',
-                       MWTimestamp::getInstance( strtotime( 
'2017-05-11T21:23:20Z' ) ),
-                       110, '2017-05-11T20:23:20Z', '99+' ],
-                       [ $this->getSecondaryButtonExpectedResult(
-                               $title,
-                               'Show my notifications',
-                               'Notifications',
-                               '3',
-                               false,
-                               false
-                       ), 'Echo, logged in, no talk page alerts, 3 
notifications, ' +
-                       'last un-read nofication time before last echo seen 
time',
-                       $title, true, true, '',
-                       MWTimestamp::getInstance( strtotime( 
'2017-05-11T21:23:20Z' ) ),
-                       3, '2017-05-11T22:23:20Z', '3' ],
-                       [ $this->getSecondaryButtonExpectedResult(
-                               $title,
-                               'Show my notifications',
-                               'Notifications',
-                               '5',
-                               false,
-                               false
-                       ), 'Echo, logged in, no talk page alerts, 5 
notifications, ' +
-                               'no last un-read nofication time',
-                       $title, true, true, '', false, 5, 
'2017-05-11T22:23:20Z', '5' ],
-                       [ $this->getSecondaryButtonExpectedResult(
-                               $title,
-                               'Show my notifications',
-                               'Notifications',
-                               '0',
-                               true,
-                               false
-                       ), 'Echo, logged in, no talk page alerts, 0 
notifications, ' +
-                               'no last echo seen time',
-                       $title, true, true, '',
-                       MWTimestamp::getInstance( strtotime( 
'2017-05-11T21:23:20Z' ) ),
-                       0, false, '0' ]
-               ];
-       }
-
-       /**
-        * Data provider for the test case testPrepareUserButton with Echo 
disabled
-        * @param Title @title Page title
-        * @return array
-        */
-       private function providePrepareUserButtonNoEcho( Title $title ) {
-               return [
-                       [ '', 'No Echo, not logged in, no talk page alerts',
-                               $title, false, false, '' ],
-                       [ '', 'No Echo, logged in, no talk page alerts',
-                               $title, false, true, '' ],
-                       [ $this->getSecondaryButtonExpectedResult(
-                               $title,
-                               'You have new messages on your talk page',
-                               'Mytalk',
-                               '',
-                               true,
-                               false
-                       ), 'No Echo, not logged in, talk page alert',
-                       $title, false, false, 'newtalks alert' ],
-               ];
-       }
-
-       /**
-        * Data provider for the test case testPrepareUserButton
-        * @return array
-        */
-       public function providePrepareUserButton() {
-               $title = Title::newFromText( 'Test' );
-               return array_merge(
-                       $this->providePrepareUserButtonEcho( $title ),
-                       $this->providePrepareUserButtonNoEcho( $title )
-               );
-       }
-}

-- 
To view, visit https://gerrit.wikimedia.org/r/365686
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iad58780e6be4952241a97dd8181864475b513572
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/skins/MinervaNeue
Gerrit-Branch: wmf/1.30.0-wmf.9
Gerrit-Owner: Jdlrobson <jrob...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to