MediaWiki REL1_28
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
 
 testIrcMsgForLogTypeBlock ()
 The testIrcMsgForAction* tests are supposed to cover the hacky LogFormatter::getIRCActionText / bug 34508.
 
 testIrcMsgForLogTypeDelete ()
 LogFormatter::getIRCActionComment LogFormatter::getIRCActionText.
 
 testIrcMsgForLogTypeImport ()
 LogFormatter::getIRCActionComment LogFormatter::getIRCActionText.
 
 testIrcMsgForLogTypeMerge ()
 LogFormatter::getIRCActionComment LogFormatter::getIRCActionText.
 
 testIrcMsgForLogTypeMove ()
 LogFormatter::getIRCActionComment LogFormatter::getIRCActionText.
 
 testIrcMsgForLogTypeNewusers ()
 LogFormatter::getIRCActionComment LogFormatter::getIRCActionText.
 
 testIrcMsgForLogTypePatrol ()
 LogFormatter::getIRCActionComment LogFormatter::getIRCActionText.
 
 testIrcMsgForLogTypeProtect ()
 LogFormatter::getIRCActionComment LogFormatter::getIRCActionText.
 
 testIrcMsgForLogTypeUpload ()
 LogFormatter::getIRCActionComment LogFormatter::getIRCActionText.
 
 testLogComment ()
 LogFormatter::newFromEntry LogFormatter::getComment.
 
 testLogParamsTypeMsg ()
 LogFormatter::newFromEntry LogFormatter::getActionText.
 
 testLogParamsTypeMsgContent ()
 LogFormatter::newFromEntry LogFormatter::getActionText.
 
 testLogParamsTypeNumber ()
 LogFormatter::newFromEntry LogFormatter::getActionText.
 
 testLogParamsTypePlain ()
 LogFormatter::newFromEntry LogFormatter::getActionText.
 
 testLogParamsTypeRaw ()
 LogFormatter::newFromEntry LogFormatter::getActionText.
 
 testLogParamsTypeTitleLink ()
 LogFormatter::newFromEntry LogFormatter::getActionText.
 
 testLogParamsTypeUserLink ()
 LogFormatter::newFromEntry LogFormatter::getActionText.
 
 testNormalLogParams ()
 LogFormatter::newFromEntry.
 
- Public Member Functions inherited from MediaWikiTestCase
 __call ( $func, $args)
 
 __construct ( $name=null, array $data=[], $dataName='')
 
 __destruct ()
 
 addDBData ()
 Stub.
 
 addDBDataOnce ()
 Stub.
 
 dbPrefix ()
 
 getCliArg ( $offset)
 
 hideDeprecated ( $function)
 Don't throw a warning if $function is deprecated and called later.
 
 needsDB ()
 
 run (PHPUnit_Framework_TestResult $result=null)
 
 setCliArg ( $offset, $value)
 
 setContentLang ( $lang)
 
 setupAllTestDBs ()
 Set up all test DBs.
 
 setUserLang ( $lang)
 
 testMediaWikiTestCaseParentSetupCalled ()
 Make sure MediaWikiTestCase extending classes have called their parent setUp method.
 
 usesTemporaryTables ()
 

Static Public Member Functions

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

Protected Member Functions

 assertIRCComment ( $expected, $type, $action, $params, $comment=null, $msg='', $legacy=false)
 
 setUp ()
 
 tearDown ()
 
- 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.
 
 assertArrayEquals (array $expected, array $actual, $ordered=false, $named=false)
 Assert that two arrays are equal.
 
 assertHTMLEquals ( $expected, $actual, $msg='')
 Put each HTML element on its own line and then equals() the results.
 
 assertSelect ( $table, $fields, $condition, array $expectedRows)
 Asserts that the given database query yields the rows given by $expectedRows.
 
 assertType ( $type, $actual, $message='')
 Asserts the type of the provided value.
 
 assertTypeOrValue ( $type, $actual, $value=false, $message='')
 Asserts that the provided variable is of the specified internal type or equals the $value argument.
 
 assertValidHtmlDocument ( $html)
 Asserts that the given string is valid HTML document.
 
 assertValidHtmlSnippet ( $html)
 Asserts that the given string is a valid HTML snippet.
 
 checkDbIsSupported ()
 
 checkPHPExtension ( $extName)
 Check if $extName is a loaded PHP extension, will skip the test whenever it is not loaded.
 
 getDefaultWikitextNS ()
 Returns the ID of a namespace that defaults to Wikitext.
 
 getNewTempDirectory ()
 obtains a new temporary directory
 
 getNewTempFile ()
 Obtains a new temporary file name.
 
 insertPage ( $pageName, $text='Sample page for unit test.', $namespace=null)
 Insert a new page.
 
 isWikitextNS ( $ns)
 Returns true if the given namespace defaults to Wikitext according to $wgNamespaceContentModels.
 
 markTestSkippedIfNoDiff3 ()
 Check, if $wgDiff3 is set and ready to merge Will mark the calling test as skipped, if not ready.
 
 mergeMwGlobalArrayValue ( $name, $values)
 Merges the given values into a MW global array variable.
 
 objectAssociativeSort (array &$array)
 Does an associative sort that works for objects.
 
 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.
 
 setLogger ( $channel, LoggerInterface $logger)
 Sets the logger for a specified channel, for the duration of the test.
 
 setMwGlobals ( $pairs, $value=null)
 
 setService ( $name, $object)
 Sets a service, maintaining a stashed version of the previous service to be restored in tearDown.
 
 setTemporaryHook ( $hookName, $handler)
 Create a temporary hook handler which will be reset by tearDown.
 
 stashMwGlobals ( $globalKeys)
 Stashes the global, will be restored in tearDown()
 

Protected Attributes

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

Additional Inherited Members

- Public Attributes inherited from MediaWikiTestCase
const DB_PREFIX = 'unittest_'
 Table name prefixes.
 
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.
 
static isUsingExternalStoreDB ()
 Check whether ExternalStoreDB is being used.
 
static resetGlobalServices (Config $bootstrapConfig=null)
 Reset global services, and install testing environment.
 
static setupDatabaseWithTestPrefix (Database $db, $prefix)
 Setups a database with the given prefix.
 
static setupExternalStoreTestDBs ( $testPrefix)
 Clones the External Store database(s) for testing.
 
static stripStringKeys (&$r)
 Utility function for eliminating all string keys from an array.
 

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 629 of file LogFormatterTest.php.

References $comment, $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

Definition at line 273 of file LogFormatterTest.php.

References false, ApiResult\META_TYPE, NS_PROJECT, true, and wfMessage().

◆ setUp()

LogFormatterTest::setUp ( )
protected

Reimplemented from MediaWikiLangTestCase.

Definition at line 33 of file LogFormatterTest.php.

References $wgLang, global, MediaWikiTestCase\setMwGlobals(), title, and user.

◆ tearDown()

LogFormatterTest::tearDown ( )
protected

Reimplemented from MediaWikiTestCase.

Definition at line 60 of file LogFormatterTest.php.

References $wgLang, and global.

◆ testApiParamFormatting()

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

◆ testIrcMsgForLogTypeBlock()

LogFormatterTest::testIrcMsgForLogTypeBlock ( )

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

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 352 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()

◆ 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 21 of file LogFormatterTest.php.

◆ $target

Title LogFormatterTest::$target
protected

Definition at line 26 of file LogFormatterTest.php.

◆ $title

Title LogFormatterTest::$title
protected

Definition at line 16 of file LogFormatterTest.php.

◆ $user

User LogFormatterTest::$user
protected

Definition at line 11 of file LogFormatterTest.php.

◆ $user_comment

string LogFormatterTest::$user_comment
protected

Definition at line 31 of file LogFormatterTest.php.

Referenced by testIrcMsgForLogTypeImport().


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