MediaWiki  REL1_31
LogFormatterTest Class Reference

Database. More...

Inheritance diagram for LogFormatterTest:
Collaboration diagram for LogFormatterTest:

Public Member Functions

 newLogEntry ( $action, $params)
 
 testApiParamFormatting ( $key, $value, $expected)
 provideApiParamFormatting LogFormatter::formatParametersForApi LogFormatter::formatParameterValueForApi More...
 
 testIrcMsgForLogTypeBlock ()
 The testIrcMsgForAction* tests are supposed to cover the hacky LogFormatter::getIRCActionText / T36508. More...
 
 testIrcMsgForLogTypeDelete ()
 LogFormatter::getIRCActionComment LogFormatter::getIRCActionText. More...
 
 testIrcMsgForLogTypeImport ()
 LogFormatter::getIRCActionComment LogFormatter::getIRCActionText. More...
 
 testIrcMsgForLogTypeMerge ()
 LogFormatter::getIRCActionComment LogFormatter::getIRCActionText. More...
 
 testIrcMsgForLogTypeMove ()
 LogFormatter::getIRCActionComment LogFormatter::getIRCActionText. More...
 
 testIrcMsgForLogTypeNewusers ()
 LogFormatter::getIRCActionComment LogFormatter::getIRCActionText. More...
 
 testIrcMsgForLogTypePatrol ()
 LogFormatter::getIRCActionComment LogFormatter::getIRCActionText. More...
 
 testIrcMsgForLogTypeProtect ()
 LogFormatter::getIRCActionComment LogFormatter::getIRCActionText. More...
 
 testIrcMsgForLogTypeUpload ()
 LogFormatter::getIRCActionComment LogFormatter::getIRCActionText. More...
 
 testLogComment ()
 LogFormatter::newFromEntry LogFormatter::getComment. More...
 
 testLogParamsTypeMsg ()
 LogFormatter::newFromEntry LogFormatter::getActionText. More...
 
 testLogParamsTypeMsgContent ()
 LogFormatter::newFromEntry LogFormatter::getActionText. More...
 
 testLogParamsTypeNumber ()
 LogFormatter::newFromEntry LogFormatter::getActionText. More...
 
 testLogParamsTypePlain ()
 LogFormatter::newFromEntry LogFormatter::getActionText. More...
 
 testLogParamsTypeRaw ()
 LogFormatter::newFromEntry LogFormatter::getActionText. More...
 
 testLogParamsTypeTitleLink ()
 LogFormatter::newFromEntry LogFormatter::getActionText. More...
 
 testLogParamsTypeUserLink ()
 LogFormatter::newFromEntry LogFormatter::getActionText. More...
 
 testNormalLogParams ()
 LogFormatter::newFromEntry. More...
 
- Public Member Functions inherited from MediaWikiTestCase
 __construct ( $name=null, array $data=[], $dataName='')
 
 __destruct ()
 
 addDBData ()
 Stub. More...
 
 addDBDataOnce ()
 Stub. More...
 
 dbPrefix ()
 
 getCliArg ( $offset)
 
 hideDeprecated ( $function)
 Don't throw a warning if $function is deprecated and called later. More...
 
 needsDB ()
 
 run (PHPUnit_Framework_TestResult $result=null)
 
 setCliArg ( $offset, $value)
 
 setContentLang ( $lang)
 
 setGroupPermissions ( $newPerms, $newKey=null, $newValue=null)
 Alters $wgGroupPermissions for the duration of the test. More...
 
 setupAllTestDBs ()
 Set up all test DBs. More...
 
 setUserLang ( $lang)
 
 testMediaWikiTestCaseParentSetupCalled ()
 Make sure MediaWikiTestCase extending classes have called their parent setUp method. More...
 
 usesTemporaryTables ()
 

Static Public Member Functions

static provideApiParamFormatting ()
 
static setUpBeforeClass ()
 
static tearDownAfterClass ()
 
- Static Public Member Functions inherited from MediaWikiTestCase
static getMutableTestUser ( $groups=[])
 Convenience method for getting a mutable test user. More...
 
static getTestSysop ()
 Convenience method for getting an immutable admin test user. More...
 
static getTestUser ( $groups=[])
 Convenience method for getting an immutable test user. More...
 
static listTables (IMaintainableDatabase $db)
 
static prepareServices (Config $bootstrapConfig)
 Prepare service configuration for unit testing. More...
 
static setupTestDB (Database $db, $prefix)
 Creates an empty skeleton of the wiki database by cloning its structure to equivalent tables using the given $prefix. More...
 
static teardownTestDB ()
 Restores MediaWiki to using the table set (table prefix) it was using before setupTestDB() was called. More...
 
static wfResetOutputBuffersBarrier ( $buffer)
 Used as a marker to prevent wfResetOutputBuffers from breaking PHPUnit. More...
 

Protected Member Functions

 assertIRCComment ( $expected, $type, $action, $params, $comment=null, $msg='', $legacy=false)
 
 setUp ()
 
- Protected Member Functions inherited from MediaWikiTestCase
 addTmpFiles ( $files)
 
 arrayWrap (array $elements)
 Utility method taking an array of elements and wrapping each element in its own array. More...
 
 assertArrayEquals (array $expected, array $actual, $ordered=false, $named=false)
 Assert that two arrays are equal. More...
 
 assertFileContains ( $fileName, $actualData, $createIfMissing=true, $msg='')
 Check whether file contains given data. More...
 
 assertHTMLEquals ( $expected, $actual, $msg='')
 Put each HTML element on its own line and then equals() the results. More...
 
 assertSelect ( $table, $fields, $condition, array $expectedRows, array $options=[], array $join_conds=[])
 Asserts that the given database query yields the rows given by $expectedRows. More...
 
 assertType ( $type, $actual, $message='')
 Asserts the type of the provided value. More...
 
 assertTypeOrValue ( $type, $actual, $value=false, $message='')
 Asserts that the provided variable is of the specified internal type or equals the $value argument. More...
 
 checkDbIsSupported ()
 
 checkPHPExtension ( $extName)
 Check if $extName is a loaded PHP extension, will skip the test whenever it is not loaded. More...
 
 getDefaultWikitextNS ()
 Returns the ID of a namespace that defaults to Wikitext. More...
 
 getNewTempDirectory ()
 obtains a new temporary directory More...
 
 getNewTempFile ()
 Obtains a new temporary file name. More...
 
 getSchemaOverrides (IMaintainableDatabase $db)
 Stub. More...
 
 insertPage ( $pageName, $text='Sample page for unit test.', $namespace=null)
 Insert a new page. More...
 
 isWikitextNS ( $ns)
 Returns true if the given namespace defaults to Wikitext according to $wgNamespaceContentModels. More...
 
 markTestSkippedIfNoDiff3 ()
 Check, if $wgDiff3 is set and ready to merge Will mark the calling test as skipped, if not ready. More...
 
 mergeMwGlobalArrayValue ( $name, $values)
 Merges the given values into a MW global array variable. More...
 
 objectAssociativeSort (array &$array)
 Does an associative sort that works for objects. More...
 
 overrideMwServices (Config $configOverrides=null, array $services=[])
 Stashes the global instance of MediaWikiServices, and installs a new one, allowing test cases to override settings and services. More...
 
 setLogger ( $channel, LoggerInterface $logger)
 Sets the logger for a specified channel, for the duration of the test. More...
 
 setMwGlobals ( $pairs, $value=null)
 Sets a global, maintaining a stashed version of the previous global to be restored in tearDown. More...
 
 setService ( $name, $object)
 Sets a service, maintaining a stashed version of the previous service to be restored in tearDown. More...
 
 setTemporaryHook ( $hookName, $handler)
 Create a temporary hook handler which will be reset by tearDown. More...
 
 stashMwGlobals ( $globalKeys)
 Stashes the global, will be restored in tearDown() More...
 
 tearDown ()
 

Protected Attributes

RequestContext $context
 
Title $target
 
Title $title
 
User $user
 
string $user_comment
 
- Protected Attributes inherited from MediaWikiTestCase
Database $db
 Primary database. More...
 
array $supportedDBs
 
array $tablesUsed = []
 

Static Private Attributes

static $oldExtMsgFiles
 

Additional Inherited Members

- Public Attributes inherited from MediaWikiTestCase
const DB_PREFIX = 'unittest_'
 Table name prefixes. More...
 
const ORA_DB_PREFIX = 'ut_'
 
- Static Public Attributes inherited from MediaWikiTestCase
static TestUser[] $users
 
- Static Protected Member Functions inherited from MediaWikiTestCase
static getExternalStoreDatabaseConnections ()
 Gets master database connections for all of the ExternalStoreDB stores configured in $wgDefaultExternalStore. More...
 
static isUsingExternalStoreDB ()
 Check whether ExternalStoreDB is being used. More...
 
static resetGlobalServices (Config $bootstrapConfig=null)
 Reset global services, and install testing environment. More...
 
static setupDatabaseWithTestPrefix (IMaintainableDatabase $db, $prefix)
 Setups a database with the given prefix. More...
 
static setupExternalStoreTestDBs ( $testPrefix)
 Clones the External Store database(s) for testing. More...
 
static stripStringKeys (&$r)
 Utility function for eliminating all string keys from an array. More...
 

Detailed Description

Database.

Definition at line 6 of file LogFormatterTest.php.

Member Function Documentation

◆ assertIRCComment()

LogFormatterTest::assertIRCComment (   $expected,
  $type,
  $action,
  $params,
  $comment = null,
  $msg = '',
  $legacy = false 
)
protected
Parameters
string$expectedExpected IRC text without colors codes
string$typeLog type (move, delete, suppress, patrol ...)
string$actionA log type action
array$params
string$comment(optional) A comment for the log action
string$msg(optional) A message for PHPUnit :-)

Definition at line 639 of file LogFormatterTest.php.

References $params, $type, IRCColourfulRCFeedFormatter\cleanupForIRC(), LogFormatter\newFromEntry(), title, and user.

Referenced by testIrcMsgForLogTypeBlock(), testIrcMsgForLogTypeDelete(), testIrcMsgForLogTypeImport(), testIrcMsgForLogTypeMerge(), testIrcMsgForLogTypeMove(), testIrcMsgForLogTypeNewusers(), testIrcMsgForLogTypePatrol(), testIrcMsgForLogTypeProtect(), and testIrcMsgForLogTypeUpload().

◆ newLogEntry()

◆ provideApiParamFormatting()

static LogFormatterTest::provideApiParamFormatting ( )
static

◆ setUp()

LogFormatterTest::setUp ( )
protected

◆ setUpBeforeClass()

static LogFormatterTest::setUpBeforeClass ( )
static

Reimplemented from MediaWikiTestCase.

Definition at line 34 of file LogFormatterTest.php.

References $wgExtensionMessagesFiles, Language\getLocalisationCache(), and global.

◆ tearDownAfterClass()

static LogFormatterTest::tearDownAfterClass ( )
static

◆ testApiParamFormatting()

LogFormatterTest::testApiParamFormatting (   $key,
  $value,
  $expected 
)

◆ testIrcMsgForLogTypeBlock()

LogFormatterTest::testIrcMsgForLogTypeBlock ( )

The testIrcMsgForAction* tests are supposed to cover the hacky LogFormatter::getIRCActionText / T36508.

Third parties bots listen to those messages. They are clever enough to fetch the i18n messages from the wiki and then analyze the IRC feed to reverse engineer the $1, $2 messages. One thing bots can not detect is when MediaWiki change the meaning of a message like what happened when we deployed 1.19. $1 became the user performing the action which broke basically all bots around.

Should cover the following log actions (which are most commonly used by bots):

  • block/block
  • block/unblock
  • block/reblock
  • delete/delete
  • delete/restore
  • newusers/create
  • newusers/create2
  • newusers/autocreate
  • move/move
  • move/move_redir
  • protect/protect
  • protect/modifyprotect
  • protect/unprotect
  • protect/move_prot
  • upload/upload
  • merge/merge
  • import/upload
  • import/interwiki

As well as the following Auto Edit Summaries:

Definition at line 362 of file LogFormatterTest.php.

References assertIRCComment().

◆ testIrcMsgForLogTypeDelete()

LogFormatterTest::testIrcMsgForLogTypeDelete ( )

◆ testIrcMsgForLogTypeImport()

LogFormatterTest::testIrcMsgForLogTypeImport ( )

◆ testIrcMsgForLogTypeMerge()

LogFormatterTest::testIrcMsgForLogTypeMerge ( )

◆ testIrcMsgForLogTypeMove()

LogFormatterTest::testIrcMsgForLogTypeMove ( )

◆ testIrcMsgForLogTypeNewusers()

LogFormatterTest::testIrcMsgForLogTypeNewusers ( )

◆ testIrcMsgForLogTypePatrol()

LogFormatterTest::testIrcMsgForLogTypePatrol ( )

◆ testIrcMsgForLogTypeProtect()

LogFormatterTest::testIrcMsgForLogTypeProtect ( )

◆ testIrcMsgForLogTypeUpload()

LogFormatterTest::testIrcMsgForLogTypeUpload ( )

◆ testLogComment()

LogFormatterTest::testLogComment ( )

◆ testLogParamsTypeMsg()

LogFormatterTest::testLogParamsTypeMsg ( )

◆ testLogParamsTypeMsgContent()

LogFormatterTest::testLogParamsTypeMsgContent ( )

◆ testLogParamsTypeNumber()

LogFormatterTest::testLogParamsTypeNumber ( )

◆ testLogParamsTypePlain()

LogFormatterTest::testLogParamsTypePlain ( )

◆ testLogParamsTypeRaw()

LogFormatterTest::testLogParamsTypeRaw ( )

◆ testLogParamsTypeTitleLink()

LogFormatterTest::testLogParamsTypeTitleLink ( )

◆ testLogParamsTypeUserLink()

LogFormatterTest::testLogParamsTypeUserLink ( )

◆ testNormalLogParams()

Member Data Documentation

◆ $context

RequestContext LogFormatterTest::$context
protected

Definition at line 22 of file LogFormatterTest.php.

◆ $oldExtMsgFiles

LogFormatterTest::$oldExtMsgFiles
staticprivate

Definition at line 7 of file LogFormatterTest.php.

Referenced by tearDownAfterClass().

◆ $target

Title LogFormatterTest::$target
protected

Definition at line 27 of file LogFormatterTest.php.

◆ $title

Title LogFormatterTest::$title
protected

Definition at line 17 of file LogFormatterTest.php.

◆ $user

User LogFormatterTest::$user
protected

Definition at line 12 of file LogFormatterTest.php.

◆ $user_comment

string LogFormatterTest::$user_comment
protected

Definition at line 32 of file LogFormatterTest.php.

Referenced by testIrcMsgForLogTypeImport().


The documentation for this class was generated from the following file: