MediaWiki REL1_32
|
Base TestCase for dumps. More...
Public Member Functions | |
expectETAOutput () | |
Checks for test output consisting only of lines containing ETA announcements. | |
Public Member Functions inherited from MediaWikiTestCase | |
__construct ( $name=null, array $data=[], $dataName='') | |
__destruct () | |
addDBData () | |
Stub. | |
addDBDataOnce () | |
Stub. | |
copyTestData (IDatabase $source, IDatabase $target) | |
Copy test data from one database connection to another. | |
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) | |
setGroupPermissions ( $newPerms, $newKey=null, $newValue=null) | |
Alters $wgGroupPermissions for the duration of the test. | |
setupAllTestDBs () | |
Set up all test DBs. | |
setUserLang ( $lang) | |
testMediaWikiTestCaseParentSetupCalled () | |
Make sure MediaWikiTestCase extending classes have called their parent setUp method. | |
usesTemporaryTables () | |
Protected Member Functions | |
addRevision (Page $page, $text, $summary, $model=CONTENT_MODEL_WIKITEXT) | |
Adds a revision to a page, while returning the resuting revision's id. | |
assertDumpEnd ( $name="mediawiki") | |
Asserts that the xml reader is at the final closing tag of an xml file and closes the reader. | |
assertDumpStart ( $fname, $skip_siteinfo=true) | |
Opens an XML file to analyze and optionally skips past siteinfo. | |
assertNodeEnd ( $name, $skip=true) | |
Asserts that the xml reader is at an closing element of given name, and optionally skips past it. | |
assertNodeStart ( $name, $skip=true) | |
Asserts that the xml reader is at an element of given name, and optionally skips past it. | |
assertPageEnd () | |
Asserts that the xml reader is at the page's closing element and skips to the next element. | |
assertPageStart ( $id, $ns, $name) | |
Asserts that the xml reader is at the start of a page element and skips over the first tags, after checking them. | |
assertRevision ( $id, $summary, $text_id, $text_bytes, $text_sha1, $text=false, $parentid=false, $model=CONTENT_MODEL_WIKITEXT, $format=CONTENT_FORMAT_WIKITEXT) | |
Asserts that the xml reader is at a revision and checks its representation before skipping over it. | |
assertText ( $id, $text_id, $text_bytes, $text) | |
assertTextNode ( $name, $text, $skip_ws=true) | |
Asserts that the xml reader is at an element of given tag that contains a given text, and skips over the element. | |
checkHasGzip () | |
Skip the test if 'gzip' is not in $PATH. | |
gunzip ( $fname) | |
gunzips the given file and stores the result in the original file name | |
setUp () | |
Default set up function. | |
skipPastNodeEnd ( $name) | |
Step the current XML reader to the first element start after the node end of a given name. | |
skipToNodeEnd ( $name) | |
Step the current XML reader until node end of given name is found. | |
skipWhitespace () | |
Steps the xml reader over white space. | |
Protected Member Functions inherited from MediaWikiTestCase | |
addCoreDBData () | |
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. | |
assertFileContains ( $fileName, $actualData, $createIfMissing=false, $msg='') | |
Check whether file contains given data. | |
assertHTMLEquals ( $expected, $actual, $msg='') | |
Put each HTML element on its own line and then equals() the results. | |
assertSelect ( $table, $fields, $condition, array $expectedRows, array $options=[], array $join_conds=[]) | |
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. | |
checkDbIsSupported () | |
checkPHPExtension ( $extName) | |
Check if $extName is a loaded PHP extension, will skip the test whenever it is not loaded. | |
editPage ( $pageName, $text, $summary='', $defaultNs=NS_MAIN) | |
Edits or creates a page/revision. | |
ensureMockDatabaseConnection (IDatabase $db) | |
getDefaultWikitextNS () | |
Returns the ID of a namespace that defaults to Wikitext. | |
getExistingTestPage ( $title=null) | |
Returns a WikiPage representing an existing page. | |
getNewTempDirectory () | |
obtains a new temporary directory | |
getNewTempFile () | |
Obtains a new temporary file name. | |
getNonexistingTestPage ( $title=null) | |
Returns a WikiPage representing a non-existing page. | |
getSchemaOverrides (IMaintainableDatabase $db) | |
Stub. | |
insertPage ( $pageName, $text='Sample page for unit test.', $namespace=null, User $user=null) | |
Insert a new page. | |
isTestInDatabaseGroup () | |
isWikitextNS ( $ns) | |
Returns true if the given namespace defaults to Wikitext according to $wgNamespaceContentModels. | |
markTestSkippedIfDbType ( $type) | |
Skip the test if using the specified database type. | |
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. | |
revisionDelete ( $rev, array $value=[Revision::DELETED_TEXT=> 1], $comment='') | |
Revision-deletes a revision. | |
setIniSetting ( $name, $value) | |
Set an ini setting for the duration of the test. | |
setLogger ( $channel, LoggerInterface $logger) | |
Sets the logger for a specified channel, for the duration of the test. | |
setMwGlobals ( $pairs, $value=null) | |
Sets a global, maintaining a stashed version of the previous global to be restored in tearDown. | |
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() | |
tearDown () | |
truncateTable ( $tableName, IDatabase $db=null) | |
Empties the given table and resets any auto-increment counters. | |
Protected Attributes | |
Exception null | $exceptionFromAddDBData = null |
exception to be rethrown once in sound PHPUnit surrounding | |
XMLReader null | $xml = null |
Holds the XMLReader used for analyzing an XML dump. | |
Protected Attributes inherited from MediaWikiTestCase | |
Database | $db |
Primary database. | |
array | $supportedDBs |
array | $tablesUsed = [] |
Static Protected Attributes | |
static bool null | $hasGzip = null |
Whether the 'gzip' utility is available. | |
Additional Inherited Members | |
Static Public Member Functions inherited from MediaWikiTestCase | |
static | getMutableTestUser ( $groups=[]) |
Convenience method for getting a mutable test user. | |
static | getTestPrefixFor (IDatabase $db) |
static | getTestSysop () |
Convenience method for getting an immutable admin test user. | |
static | getTestUser ( $groups=[]) |
Convenience method for getting an immutable test user. | |
static | installMockMwServices (Config $configOverrides=null) |
Creates a new "mock" MediaWikiServices instance, and installs it. | |
static | listTables (IMaintainableDatabase $db) |
static | prepareServices (Config $bootstrapConfig) |
static | resetNonServiceCaches () |
Resets some non-service singleton instances and other static caches. | |
static | restoreMwServices () |
Restores the original, non-mock MediaWikiServices instance. | |
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. | |
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 | setupDatabaseWithTestPrefix (IMaintainableDatabase $db, $prefix=null) |
Setups a database with cloned tables using the given prefix. | |
static | setupExternalStoreTestDBs ( $testPrefix=null) |
Clones the External Store database(s) for testing. | |
static | stripStringKeys (&$r) |
Utility function for eliminating all string keys from an array. | |
Base TestCase for dumps.
Definition at line 16 of file DumpTestCase.php.
|
protected |
Adds a revision to a page, while returning the resuting revision's id.
Page | $page | Page to add the revision to |
string | $text | Revisions text |
string | $summary | Revisions summary |
string | $model | The model ID (defaults to wikitext) |
MWException |
Definition at line 69 of file DumpTestCase.php.
References $value.
Referenced by MediaWiki\Tests\Maintenance\BackupDumperPageTest\addDBData(), and MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\addDBData().
|
protected |
Asserts that the xml reader is at the final closing tag of an xml file and closes the reader.
string | $name | (optional) the name of the final tag (e.g.: "mediawiki" for </mediawiki>) |
Definition at line 220 of file DumpTestCase.php.
References $name, MediaWiki\Tests\Maintenance\DumpTestCase\assertNodeEnd(), and MediaWiki\Tests\Maintenance\DumpTestCase\skipWhitespace().
Referenced by MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\checkpointHelper(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testCurrentStubGzip(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testCurrentStubPlain(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testFullStubPlain(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testFullTextPlain(), MediaWiki\Tests\Maintenance\BackupDumperLoggerTest\testPlain(), MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\testPlain(), MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\testPrefetchPlain(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testXmlDumpsBackupUseCase(), and MediaWiki\Tests\Maintenance\BackupDumperLoggerTest\testXmlDumpsBackupUseCaseLogging().
|
protected |
Opens an XML file to analyze and optionally skips past siteinfo.
string | $fname | Name of file to analyze |
bool | $skip_siteinfo | (optional) If true, step the xml reader to the first element after </siteinfo> |
Definition at line 203 of file DumpTestCase.php.
References $fname, and MediaWiki\Tests\Maintenance\DumpTestCase\skipPastNodeEnd().
Referenced by MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\checkpointHelper(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testCurrentStubGzip(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testCurrentStubPlain(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testFullStubPlain(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testFullTextPlain(), MediaWiki\Tests\Maintenance\BackupDumperLoggerTest\testPlain(), MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\testPlain(), MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\testPrefetchPlain(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testXmlDumpsBackupUseCase(), and MediaWiki\Tests\Maintenance\BackupDumperLoggerTest\testXmlDumpsBackupUseCaseLogging().
|
protected |
Asserts that the xml reader is at an closing element of given name, and optionally skips past it.
string | $name | The name of the closing element to check for (e.g.: "mediawiki" for </mediawiki>) |
bool | $skip | (optional) if true, skip past the found element |
Definition at line 265 of file DumpTestCase.php.
References $name.
Referenced by MediaWiki\Tests\Maintenance\DumpTestCase\assertDumpEnd(), MediaWiki\Tests\Maintenance\BackupDumperLoggerTest\assertLogItem(), MediaWiki\Tests\Maintenance\DumpTestCase\assertPageEnd(), MediaWiki\Tests\Maintenance\DumpTestCase\assertRevision(), MediaWiki\Tests\Maintenance\DumpTestCase\assertText(), and MediaWiki\Tests\Maintenance\DumpTestCase\assertTextNode().
|
protected |
Asserts that the xml reader is at an element of given name, and optionally skips past it.
string | $name | The name of the element to check for (e.g.: "mediawiki" for <mediawiki>) |
bool | $skip | (optional) if true, skip past the found element |
Definition at line 249 of file DumpTestCase.php.
References $name.
Referenced by MediaWiki\Tests\Maintenance\BackupDumperLoggerTest\assertLogItem(), MediaWiki\Tests\Maintenance\DumpTestCase\assertPageStart(), MediaWiki\Tests\Maintenance\DumpTestCase\assertRevision(), MediaWiki\Tests\Maintenance\DumpTestCase\assertText(), and MediaWiki\Tests\Maintenance\DumpTestCase\assertTextNode().
|
protected |
Asserts that the xml reader is at the page's closing element and skips to the next element.
Definition at line 323 of file DumpTestCase.php.
References MediaWiki\Tests\Maintenance\DumpTestCase\assertNodeEnd(), and MediaWiki\Tests\Maintenance\DumpTestCase\skipWhitespace().
Referenced by MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\checkpointHelper(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testCurrentStubGzip(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testCurrentStubPlain(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testFullStubPlain(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testFullTextPlain(), MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\testPlain(), MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\testPrefetchPlain(), and MediaWiki\Tests\Maintenance\BackupDumperPageTest\testXmlDumpsBackupUseCase().
|
protected |
Asserts that the xml reader is at the start of a page element and skips over the first tags, after checking them.
Besides the opening page element, this function also checks for and skips over the title, ns, and id tags. Hence after this function, the xml reader is at the first revision of the current page.
int | $id | Id of the page to assert |
int | $ns | Number of namespage to assert |
string | $name | Title of the current page |
Definition at line 310 of file DumpTestCase.php.
References $name, MediaWiki\Tests\Maintenance\DumpTestCase\assertNodeStart(), MediaWiki\Tests\Maintenance\DumpTestCase\assertTextNode(), and MediaWiki\Tests\Maintenance\DumpTestCase\skipWhitespace().
Referenced by MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\checkpointHelper(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testCurrentStubGzip(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testCurrentStubPlain(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testFullStubPlain(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testFullTextPlain(), MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\testPlain(), MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\testPrefetchPlain(), and MediaWiki\Tests\Maintenance\BackupDumperPageTest\testXmlDumpsBackupUseCase().
|
protected |
Asserts that the xml reader is at a revision and checks its representation before skipping over it.
int | $id | Id of the revision |
string | $summary | Summary of the revision |
int | $text_id | Id of the revision's text |
int | $text_bytes | Number of bytes in the revision's text |
string | $text_sha1 | The base36 SHA-1 of the revision's text |
string | bool | $text | (optional) The revision's string, or false to check for a revision stub |
int | bool | $parentid | (optional) id of the parent revision |
string | $model | The expected content model id (default: CONTENT_MODEL_WIKITEXT) |
string | $format | The expected format model id (default: CONTENT_FORMAT_WIKITEXT) |
Definition at line 343 of file DumpTestCase.php.
References MediaWiki\Tests\Maintenance\DumpTestCase\assertNodeEnd(), MediaWiki\Tests\Maintenance\DumpTestCase\assertNodeStart(), MediaWiki\Tests\Maintenance\DumpTestCase\assertText(), MediaWiki\Tests\Maintenance\DumpTestCase\assertTextNode(), and MediaWiki\Tests\Maintenance\DumpTestCase\skipWhitespace().
Referenced by MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\checkpointHelper(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testCurrentStubGzip(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testCurrentStubPlain(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testFullStubPlain(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testFullTextPlain(), MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\testPlain(), MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\testPrefetchPlain(), and MediaWiki\Tests\Maintenance\BackupDumperPageTest\testXmlDumpsBackupUseCase().
|
protected |
Definition at line 389 of file DumpTestCase.php.
References MediaWiki\Tests\Maintenance\DumpTestCase\assertNodeEnd(), MediaWiki\Tests\Maintenance\DumpTestCase\assertNodeStart(), and MediaWiki\Tests\Maintenance\DumpTestCase\skipWhitespace().
Referenced by MediaWiki\Tests\Maintenance\DumpTestCase\assertRevision().
|
protected |
Asserts that the xml reader is at an element of given tag that contains a given text, and skips over the element.
string | $name | The name of the element to check for (e.g.: "mediawiki" for <mediawiki>...</mediawiki>) |
string | bool | $text | If string, check if it equals the elements text. If false, ignore the element's text |
bool | $skip_ws | (optional) if true, skip past white spaces that trail the closing element. |
Definition at line 284 of file DumpTestCase.php.
References $name, MediaWiki\Tests\Maintenance\DumpTestCase\assertNodeEnd(), MediaWiki\Tests\Maintenance\DumpTestCase\assertNodeStart(), and MediaWiki\Tests\Maintenance\DumpTestCase\skipWhitespace().
Referenced by MediaWiki\Tests\Maintenance\BackupDumperLoggerTest\assertLogItem(), MediaWiki\Tests\Maintenance\DumpTestCase\assertPageStart(), and MediaWiki\Tests\Maintenance\DumpTestCase\assertRevision().
|
protected |
Skip the test if 'gzip' is not in $PATH.
Definition at line 46 of file DumpTestCase.php.
References MediaWiki\Tests\Maintenance\DumpTestCase\$hasGzip, and false.
Referenced by MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\testCheckpointGzip(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testCurrentStubGzip(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testXmlDumpsBackupUseCase(), and MediaWiki\Tests\Maintenance\BackupDumperLoggerTest\testXmlDumpsBackupUseCaseLogging().
MediaWiki\Tests\Maintenance\DumpTestCase::expectETAOutput | ( | ) |
Checks for test output consisting only of lines containing ETA announcements.
Definition at line 131 of file DumpTestCase.php.
References $line, $lines, and as.
Referenced by MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\checkpointHelper(), and MediaWiki\Tests\Maintenance\BackupDumperPageTest\testXmlDumpsBackupUseCase().
|
protected |
gunzips the given file and stores the result in the original file name
string | $fname | Filename to read the gzipped data from and stored the gunzipped data into |
Definition at line 96 of file DumpTestCase.php.
References $fname.
Referenced by MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\checkpointHelper(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testCurrentStubGzip(), MediaWiki\Tests\Maintenance\BackupDumperPageTest\testXmlDumpsBackupUseCase(), and MediaWiki\Tests\Maintenance\BackupDumperLoggerTest\testXmlDumpsBackupUseCaseLogging().
|
protected |
Default set up function.
Clears $wgUser, and reports errors from addDBData to PHPUnit
Reimplemented from MediaWikiLangTestCase.
Reimplemented in MediaWiki\Tests\Maintenance\BackupDumperPageTest, and MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest.
Definition at line 116 of file DumpTestCase.php.
References MediaWiki\Tests\Maintenance\DumpTestCase\$exceptionFromAddDBData, and MediaWikiTestCase\setMwGlobals().
|
protected |
Step the current XML reader to the first element start after the node end of a given name.
string | $name | Name of the closing element to look for (e.g.: "mediawiki" when looking for </mediawiki>) |
Definition at line 184 of file DumpTestCase.php.
References $name, and MediaWiki\Tests\Maintenance\DumpTestCase\skipToNodeEnd().
Referenced by MediaWiki\Tests\Maintenance\DumpTestCase\assertDumpStart().
|
protected |
Step the current XML reader until node end of given name is found.
string | $name | Name of the closing element to look for (e.g.: "mediawiki" when looking for </mediawiki>) |
Definition at line 162 of file DumpTestCase.php.
References $name.
Referenced by MediaWiki\Tests\Maintenance\DumpTestCase\skipPastNodeEnd().
|
protected |
Steps the xml reader over white space.
Definition at line 233 of file DumpTestCase.php.
Referenced by MediaWiki\Tests\Maintenance\DumpTestCase\assertDumpEnd(), MediaWiki\Tests\Maintenance\BackupDumperLoggerTest\assertLogItem(), MediaWiki\Tests\Maintenance\DumpTestCase\assertPageEnd(), MediaWiki\Tests\Maintenance\DumpTestCase\assertPageStart(), MediaWiki\Tests\Maintenance\DumpTestCase\assertRevision(), MediaWiki\Tests\Maintenance\DumpTestCase\assertText(), and MediaWiki\Tests\Maintenance\DumpTestCase\assertTextNode().
|
protected |
exception to be rethrown once in sound PHPUnit surrounding
As the current MediaWikiTestCase::run is not robust enough to recover from thrown exceptions directly, we cannot throw frow within self::addDBData, although it would be appropriate. Hence, we catch the exception and store it until we are in setUp and may finally rethrow the exception without crashing the test suite.
Definition at line 29 of file DumpTestCase.php.
Referenced by MediaWiki\Tests\Maintenance\DumpTestCase\setUp().
|
staticprotected |
Whether the 'gzip' utility is available.
Definition at line 39 of file DumpTestCase.php.
Referenced by MediaWiki\Tests\Maintenance\DumpTestCase\checkHasGzip().
|
protected |
Holds the XMLReader used for analyzing an XML dump.
Definition at line 36 of file DumpTestCase.php.