mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Popups
synced 2024-11-16 20:18:00 +00:00
a90c9d5ce6
According to https://tools.wmflabs.org/coverme/?repo=Extension%3APopups these might be relevant to cover, and already are, but the required @covers tags have been forgotten. Note that the MWEventLogger class does not have a dedicated test. This is fine because it is exclusively used by the factory (as it should), can be considered part of it, and in this case it's fine if one test covers both. However, none of the log() methods is covered by any test. This is for a later patch. Change-Id: Ic1391f7a921d76796c4648ba59df64e793c8feae
71 lines
2.1 KiB
PHP
71 lines
2.1 KiB
PHP
<?php
|
|
/*
|
|
* This file is part of the MediaWiki extension Popups.
|
|
*
|
|
* Popups is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* Popups is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with Popups. If not, see <http://www.gnu.org/licenses/>.
|
|
*
|
|
* @file
|
|
* @ingroup extensions
|
|
*/
|
|
use Popups\EventLogging\MWEventLogger;
|
|
use Popups\EventLogging\NullLogger;
|
|
use Popups\EventLogging\EventLoggerFactory;
|
|
|
|
/**
|
|
* Integration tests for Page Preview hooks
|
|
*
|
|
* @group Popups
|
|
* @coversDefaultClass \Popups\EventLogging\EventLoggerFactory
|
|
*/
|
|
class EventLoggerFactoryTest extends MediaWikiTestCase {
|
|
|
|
/**
|
|
* @covers ::__construct
|
|
* @covers ::get
|
|
* @covers \Popups\EventLogging\MWEventLogger::__construct
|
|
*/
|
|
public function testReturnsMWEventWhenEventLoggingIsAvailable() {
|
|
$mock = $this->getMock( ExtensionRegistry::class, [ 'isLoaded' ] );
|
|
$mock->expects( $this->once() )
|
|
->method( 'isLoaded' )
|
|
->with( 'EventLogging' )
|
|
->willReturn( true );
|
|
|
|
$config = new HashConfig();
|
|
$factory = new EventLoggerFactory( $config, $mock );
|
|
$this->assertInstanceOf( MWEventLogger::class,
|
|
$factory->get(),
|
|
'A functional event logger is instantiated.' );
|
|
}
|
|
|
|
/**
|
|
* @covers ::__construct
|
|
* @covers ::get
|
|
*/
|
|
public function testReturnsMWEventWhenEventLoggingIsNotAvailable() {
|
|
$mock = $this->getMock( ExtensionRegistry::class, [ 'isLoaded' ] );
|
|
$mock->expects( $this->once() )
|
|
->method( 'isLoaded' )
|
|
->with( 'EventLogging' )
|
|
->willReturn( false );
|
|
|
|
$config = new HashConfig();
|
|
$factory = new EventLoggerFactory( $config, $mock );
|
|
$this->assertInstanceOf( NullLogger::class,
|
|
$factory->get(),
|
|
'A no-op event logger is instantiated.' );
|
|
}
|
|
|
|
}
|