MediaWiki  master
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 / bug 34508. 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
 __call ($func, $args)
 
 __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)
 
 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 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. More...
 
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 ($db)
 
static prepareServices (Config $bootstrapConfig)
 Prepare service configuration for unit testing. More...
 
static setUpBeforeClass ()
 
static setupTestDB (DatabaseBase $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 ()
 
 tearDown ()
 
- Protected Member Functions inherited from MediaWikiLangTestCase
 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...
 
 assertHTMLEquals ($expected, $actual, $msg= '')
 Put each HTML element on its own line and then equals() the results. More...
 
 assertSelect ($table, $fields, $condition, array $expectedRows)
 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...
 
 assertValidHtmlDocument ($html)
 Asserts that the given string is valid HTML document. More...
 
 assertValidHtmlSnippet ($html)
 Asserts that the given string is a valid HTML snippet. 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...
 
 insertPage ($pageName, $text= 'Sample page for unit test.')
 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)
 
 setService ($name, $object)
 Sets a service, maintaining a stashed version of the previous service to be restored in tearDown. More...
 
 setUp ()
 
 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
DatabaseBase $db
 Primary database. More...
 
array $supportedDBs
 
array $tablesUsed = []
 

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 (DatabaseBase $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

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(), title, and user.

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

static LogFormatterTest::provideApiParamFormatting ( )
static
LogFormatterTest::setUp ( )
protected
LogFormatterTest::tearDown ( )
protected

Definition at line 60 of file LogFormatterTest.php.

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

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

provideApiParamFormatting LogFormatter::formatParametersForApi LogFormatter::formatParameterValueForApi

Definition at line 262 of file LogFormatterTest.php.

References $value, newLogEntry(), ApiResult\setArrayType(), and ApiResult\setIndexedTagName().

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:

  • blank
  • replace
  • rollback
  • undo LogFormatter::getIRCActionComment LogFormatter::getIRCActionText

Definition at line 352 of file LogFormatterTest.php.

References $user_comment, assertIRCComment(), and true.

LogFormatterTest::testIrcMsgForLogTypeDelete ( )

LogFormatter::getIRCActionComment LogFormatter::getIRCActionText.

Definition at line 403 of file LogFormatterTest.php.

References $user_comment, and assertIRCComment().

LogFormatterTest::testIrcMsgForLogTypeImport ( )

LogFormatter::getIRCActionComment LogFormatter::getIRCActionText.

Definition at line 595 of file LogFormatterTest.php.

References $user_comment, and assertIRCComment().

LogFormatterTest::testIrcMsgForLogTypeMerge ( )

LogFormatter::getIRCActionComment LogFormatter::getIRCActionText.

Definition at line 575 of file LogFormatterTest.php.

References $user_comment, and assertIRCComment().

LogFormatterTest::testIrcMsgForLogTypeMove ( )

LogFormatter::getIRCActionComment LogFormatter::getIRCActionText.

Definition at line 454 of file LogFormatterTest.php.

References $user_comment, and assertIRCComment().

LogFormatterTest::testIrcMsgForLogTypeNewusers ( )

LogFormatter::getIRCActionComment LogFormatter::getIRCActionText.

Definition at line 427 of file LogFormatterTest.php.

References assertIRCComment().

LogFormatterTest::testIrcMsgForLogTypePatrol ( )

LogFormatter::getIRCActionComment LogFormatter::getIRCActionText.

Definition at line 484 of file LogFormatterTest.php.

References assertIRCComment().

LogFormatterTest::testIrcMsgForLogTypeProtect ( )

LogFormatter::getIRCActionComment LogFormatter::getIRCActionText.

Definition at line 501 of file LogFormatterTest.php.

References $user_comment, and assertIRCComment().

LogFormatterTest::testIrcMsgForLogTypeUpload ( )

LogFormatter::getIRCActionComment LogFormatter::getIRCActionText.

Definition at line 551 of file LogFormatterTest.php.

References $user_comment, and assertIRCComment().

LogFormatterTest::testLogComment ( )

LogFormatter::newFromEntry LogFormatter::getComment.

Definition at line 247 of file LogFormatterTest.php.

References $comment, Linker\commentBlock(), and newLogEntry().

LogFormatterTest::testLogParamsTypeMsg ( )

LogFormatter::newFromEntry LogFormatter::getActionText.

Definition at line 140 of file LogFormatterTest.php.

References $params, newLogEntry(), and wfMessage().

LogFormatterTest::testLogParamsTypeMsgContent ( )

LogFormatter::newFromEntry LogFormatter::getActionText.

Definition at line 157 of file LogFormatterTest.php.

References $params, newLogEntry(), and wfMessage().

LogFormatterTest::testLogParamsTypeNumber ( )

LogFormatter::newFromEntry LogFormatter::getActionText.

Definition at line 174 of file LogFormatterTest.php.

References $params, $wgLang, global, and newLogEntry().

LogFormatterTest::testLogParamsTypePlain ( )

LogFormatter::newFromEntry LogFormatter::getActionText.

Definition at line 230 of file LogFormatterTest.php.

References $params, and newLogEntry().

LogFormatterTest::testLogParamsTypeRaw ( )

LogFormatter::newFromEntry LogFormatter::getActionText.

Definition at line 123 of file LogFormatterTest.php.

References $params, Linker\link(), newLogEntry(), and title.

LogFormatterTest::testLogParamsTypeTitleLink ( )

LogFormatter::newFromEntry LogFormatter::getActionText.

Definition at line 213 of file LogFormatterTest.php.

References $params, Linker\link(), newLogEntry(), and title.

LogFormatterTest::testLogParamsTypeUserLink ( )

LogFormatter::newFromEntry LogFormatter::getActionText.

Definition at line 193 of file LogFormatterTest.php.

References $params, newLogEntry(), user, and Linker\userLink().

LogFormatterTest::testNormalLogParams ( )

LogFormatter::newFromEntry.

Definition at line 81 of file LogFormatterTest.php.

References Linker\link(), newLogEntry(), title, user, Linker\userLink(), and Linker\userToolLinksRedContribs().

Member Data Documentation

RequestContext LogFormatterTest::$context
protected

Definition at line 21 of file LogFormatterTest.php.

Title LogFormatterTest::$target
protected

Definition at line 26 of file LogFormatterTest.php.

Title LogFormatterTest::$title
protected

Definition at line 16 of file LogFormatterTest.php.

User LogFormatterTest::$user
protected

Definition at line 11 of file LogFormatterTest.php.


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