MediaWiki  1.23.2
RecentChangeTest Class Reference

@group Database More...

Inheritance diagram for RecentChangeTest:
Collaboration diagram for RecentChangeTest:

Public Member Functions

 __construct ()
 
 testIrcMsgForLogTypeBlock ()
 The testIrcMsgForAction* tests are supposed to cover the hacky LogFormatter::getIRCActionText / bug 34508. More...
 
 testIrcMsgForLogTypeDelete ()
 @covers LogFormatter::getIRCActionText More...
 
 testIrcMsgForLogTypeMove ()
 @covers LogFormatter::getIRCActionText More...
 
 testIrcMsgForLogTypeNewusers ()
 @covers LogFormatter::getIRCActionText More...
 
 testIrcMsgForLogTypePatrol ()
 @covers LogFormatter::getIRCActionText More...
 
 testIrcMsgForLogTypeProtect ()
 @covers LogFormatter::getIRCActionText More...
 
 testIrcMsgForLogTypeUpload ()
 @covers LogFormatter::getIRCActionText More...
 
- Public Member Functions inherited from MediaWikiTestCase
 __call ( $func, $args)
 
 __construct ( $name=null, array $data=array(), $dataName='')
 
 addDBData ()
 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)
 
 testMediaWikiTestCaseParentSetupCalled ()
 Make sure MediaWikiTestCase extending classes have called their parent setUp method. More...
 
 usesTemporaryTables ()
 

Protected Member Functions

 assertIRCComment ( $expected, $type, $action, $params, $comment=null, $msg='')
 
- Protected Member Functions inherited from MediaWikiTestCase
 arrayWrap (array $elements)
 Utility method taking an array of elements and wrapping each element in it's own array. More...
 
 assertArrayEquals (array $expected, array $actual, $ordered=false, $named=false)
 Assert that two arrays are equal. More...
 
 assertException ( $code, $expected='Exception', $message='')
 Asserts that an exception of the specified type occurs when running the provided code. 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 ()
 
 checkHasDiff3 ()
 Check, if $wgDiff3 is set and ready to merge Will mark the calling test as skipped, if not ready. More...
 
 checkHasGzip ()
 Check whether we have the 'gzip' commandline utility, will skip the test whenever "gzip -V" fails. More...
 
 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...
 
 isWikitextNS ( $ns)
 Returns true if the given namespace defaults to Wikitext according to $wgNamespaceContentModels. 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...
 
 setMwGlobals ( $pairs, $value=null)
 
 setUp ()
 
 stashMwGlobals ( $globalKeys)
 Stashes the global, will be restored in tearDown() More...
 
 tearDown ()
 

Protected Attributes

 $context
 
 $target
 
 $title
 
 $user
 
 $user_comment
 
- Protected Attributes inherited from MediaWikiTestCase
DatabaseBase $db
 
array $supportedDBs
 
array $tablesUsed = array()
 

Additional Inherited Members

- Static Public Member Functions inherited from MediaWikiTestCase
static listTables ( $db)
 
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...
 
- 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 $users
 
- Static Protected Member Functions inherited from MediaWikiTestCase
static stripStringKeys (&$r)
 Utility function for eliminating all string keys from an array. More...
 

Detailed Description

@group Database

Definition at line 6 of file RecentChangeTest.php.

Constructor & Destructor Documentation

◆ __construct()

RecentChangeTest::__construct ( )

Member Function Documentation

◆ assertIRCComment()

RecentChangeTest::assertIRCComment (   $expected,
  $type,
  $action,
  $params,
  $comment = null,
  $msg = '' 
)
protected
Todo:
Emulate these edits somehow and extract

raw edit summary from RecentChange object

Parameters
$typeString Log type (move, delete, suppress, patrol ...)
$actionString A log type action
$params
$commentString (optional) A comment for the log action
$msgString (optional) A message for PHPUnit :-)

Definition at line 263 of file RecentChangeTest.php.

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

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

◆ testIrcMsgForLogTypeBlock()

RecentChangeTest::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
  • delete/delete
  • delete/restore
  • newusers/create
  • newusers/create2
  • newusers/autocreate
  • move/move
  • move/move_redir
  • protect/protect
  • protect/modifyprotect
  • protect/unprotect
  • upload/upload

As well as the following Auto Edit Summaries:

Definition at line 60 of file RecentChangeTest.php.

References $user_comment, array(), and assertIRCComment().

◆ testIrcMsgForLogTypeDelete()

RecentChangeTest::testIrcMsgForLogTypeDelete ( )

@covers LogFormatter::getIRCActionText

Definition at line 82 of file RecentChangeTest.php.

References $user_comment, array(), and assertIRCComment().

◆ testIrcMsgForLogTypeMove()

RecentChangeTest::testIrcMsgForLogTypeMove ( )

@covers LogFormatter::getIRCActionText

Definition at line 131 of file RecentChangeTest.php.

References $user_comment, array(), and assertIRCComment().

◆ testIrcMsgForLogTypeNewusers()

RecentChangeTest::testIrcMsgForLogTypeNewusers ( )

@covers LogFormatter::getIRCActionText

Definition at line 105 of file RecentChangeTest.php.

References array(), and assertIRCComment().

◆ testIrcMsgForLogTypePatrol()

RecentChangeTest::testIrcMsgForLogTypePatrol ( )

@covers LogFormatter::getIRCActionText

Definition at line 160 of file RecentChangeTest.php.

References array(), and assertIRCComment().

◆ testIrcMsgForLogTypeProtect()

RecentChangeTest::testIrcMsgForLogTypeProtect ( )

@covers LogFormatter::getIRCActionText

Definition at line 176 of file RecentChangeTest.php.

References $user_comment, array(), and assertIRCComment().

◆ testIrcMsgForLogTypeUpload()

RecentChangeTest::testIrcMsgForLogTypeUpload ( )

@covers LogFormatter::getIRCActionText

Definition at line 212 of file RecentChangeTest.php.

References $user_comment, array(), and assertIRCComment().

Member Data Documentation

◆ $context

RecentChangeTest::$context
protected

Definition at line 11 of file RecentChangeTest.php.

◆ $target

RecentChangeTest::$target
protected

Definition at line 8 of file RecentChangeTest.php.

◆ $title

RecentChangeTest::$title
protected

Definition at line 7 of file RecentChangeTest.php.

◆ $user

RecentChangeTest::$user
protected

Definition at line 9 of file RecentChangeTest.php.

◆ $user_comment


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