MediaWiki REL1_33
|
Tests for MediaWiki api.php?action=edit. More...
Static Public Member Functions | |
static | provideEditAppend () |
Static Public Member Functions inherited from ApiTestCase | |
static | apiExceptionHasCode (ApiUsageException $ex, $code) |
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 (IMaintainableDatabase $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 | |
forceRevisionDate (WikiPage $page, $timestamp) | |
setUp () | |
Protected Member Functions inherited from ApiTestCase | |
doApiRequest (array $params, array $session=null, $appendModule=false, User $user=null, $tokenType=null) | |
Does the API request and returns the result. | |
doApiRequestWithToken (array $params, array $session=null, User $user=null, $tokenType='auto') | |
Convenience function to access the token parameter of doApiRequest() more succinctly. | |
doLogin ( $testUser=null) | |
Previously this would do API requests to log in, as well as setting $wgUser and the request context's user. | |
getTokenList (TestUser $user, $session=null) | |
setExpectedApiException ( $msg, $code=null, array $data=null, $httpCode=0) | |
Expect an ApiUsageException to be thrown with the given parameters, which are the same as ApiUsageException::newWithMessage()'s parameters. | |
tearDown () | |
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() | |
truncateTable ( $tableName, IDatabase $db=null) | |
Empties the given table and resets any auto-increment counters. | |
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 ApiTestCase | |
static | getErrorFormatter () |
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. | |
Protected Attributes inherited from ApiTestCase | |
ApiTestContext | $apiContext |
Protected Attributes inherited from MediaWikiTestCase | |
Database | $db |
Primary database. | |
array | $supportedDBs |
array | $tablesUsed = [] |
Static Protected Attributes inherited from ApiTestCase | |
static | $apiUrl |
static | $errorFormatter = null |
Tests for MediaWiki api.php?action=edit.
API Database medium
Definition at line 14 of file ApiEditPageTest.php.
|
protected |
WikiPage | $page | |
string | int | $timestamp |
Definition at line 457 of file ApiEditPageTest.php.
References WikiPage\clear(), DB_MASTER, WikiPage\getLatest(), and wfGetDB().
Referenced by testEdit_redirect(), testEdit_redirectText(), testEditConflict(), testEditConflict_newSection(), and testEditConflict_T43990().
|
static |
|
protected |
Reimplemented from ApiTestCase.
Definition at line 16 of file ApiEditPageTest.php.
References MediaWikiTestCase\mergeMwGlobalArrayValue(), and MediaWikiTestCase\setMwGlobals().
ApiEditPageTest::testAppendInMediaWikiNamespace | ( | ) |
Definition at line 1013 of file ApiEditPageTest.php.
References $name, and ApiTestCase\doApiRequestWithToken().
ApiEditPageTest::testAppendInMediaWikiNamespaceWithSerializationError | ( | ) |
Definition at line 1027 of file ApiEditPageTest.php.
References $name, $title, ApiTestCase\doApiRequestWithToken(), MediaWikiTestCase\setTemporaryHook(), and use.
ApiEditPageTest::testAppendNewSection | ( | ) |
Definition at line 1049 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\editPage().
ApiEditPageTest::testAppendNewSectionWithInvalidContentModel | ( | ) |
Definition at line 1067 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\editPage().
ApiEditPageTest::testAppendNewSectionWithSummary | ( | ) |
Definition at line 1105 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\editPage().
ApiEditPageTest::testAppendNewSectionWithTitle | ( | ) |
Definition at line 1084 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\editPage().
ApiEditPageTest::testAppendNewSectionWithTitleAndSummary | ( | ) |
Definition at line 1127 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\editPage().
ApiEditPageTest::testAppendToFirstSection | ( | ) |
Definition at line 1169 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\editPage().
ApiEditPageTest::testAppendToNonexistentSection | ( | ) |
Definition at line 1188 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\editPage().
ApiEditPageTest::testAppendToSection | ( | ) |
Definition at line 1149 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\editPage().
ApiEditPageTest::testAppendWithNonTextContentHandler | ( | ) |
Appending/prepending is currently only supported for TextContent.
We test this right now, and when support is added this test should be replaced by tests that the support is correct.
Definition at line 991 of file ApiEditPageTest.php.
References $name, $title, ApiTestCase\doApiRequestWithToken(), MediaWikiTestCase\setTemporaryHook(), and use.
ApiEditPageTest::testCheckDirectApiEditingDisallowed_forNonTextContent | ( | ) |
Definition at line 467 of file ApiEditPageTest.php.
References ApiTestCase\doApiRequestWithToken().
ApiEditPageTest::testCorrectContentFormat | ( | ) |
Definition at line 566 of file ApiEditPageTest.php.
References $name, and ApiTestCase\doApiRequestWithToken().
ApiEditPageTest::testCreateImageRedirectAnon | ( | ) |
Definition at line 1525 of file ApiEditPageTest.php.
References $name, and ApiTestCase\doApiRequestWithToken().
ApiEditPageTest::testCreateImageRedirectLoggedIn | ( | ) |
Definition at line 1538 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\setMwGlobals().
ApiEditPageTest::testCreateOnly | ( | ) |
Definition at line 941 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\editPage().
ApiEditPageTest::testEdit | ( | ) |
Definition at line 42 of file ApiEditPageTest.php.
References $data, $name, and ApiTestCase\doApiRequestWithToken().
ApiEditPageTest::testEdit_redirect | ( | ) |
Ensure we can edit through a redirect, if adding a section.
Definition at line 242 of file ApiEditPageTest.php.
References $name, $title, ApiTestCase\doApiRequestWithToken(), EDIT_NEW, EDIT_UPDATE, forceRevisionDate(), and list.
ApiEditPageTest::testEdit_redirectText | ( | ) |
Ensure we cannot edit through a redirect, if attempting to overwrite content.
Definition at line 288 of file ApiEditPageTest.php.
References $name, $title, ApiTestCase\doApiRequestWithToken(), EDIT_NEW, EDIT_UPDATE, and forceRevisionDate().
ApiEditPageTest::testEditAbortedByEditPageHookWithNoResult | ( | ) |
Definition at line 1451 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\setTemporaryHook().
ApiEditPageTest::testEditAbortedByEditPageHookWithResult | ( | ) |
Definition at line 1431 of file ApiEditPageTest.php.
References $name, $res, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\setTemporaryHook().
ApiEditPageTest::testEditAbortedByHook | ( | ) |
Definition at line 1380 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), MediaWikiTestCase\hideDeprecated(), and MediaWikiTestCase\setTemporaryHook().
ApiEditPageTest::testEditAbortedByHookWithCustomOutput | ( | ) |
Definition at line 1406 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), MediaWikiTestCase\hideDeprecated(), and MediaWikiTestCase\setTemporaryHook().
ApiEditPageTest::testEditAppend | ( | $text, | |
$op, | |||
$append, | |||
$expected | |||
) |
provideEditAppend
Definition at line 125 of file ApiEditPageTest.php.
References $content, $name, ApiTestCase\doApiRequestWithToken(), and list.
ApiEditPageTest::testEditConflict | ( | ) |
Definition at line 333 of file ApiEditPageTest.php.
References $name, $title, ApiTestCase\doApiRequestWithToken(), EDIT_NEW, EDIT_UPDATE, and forceRevisionDate().
ApiEditPageTest::testEditConflict_newSection | ( | ) |
Ensure that editing using section=new will prevent simple conflicts.
Definition at line 372 of file ApiEditPageTest.php.
References $name, $title, ApiTestCase\doApiRequestWithToken(), EDIT_NEW, EDIT_UPDATE, forceRevisionDate(), and list.
ApiEditPageTest::testEditConflict_T43990 | ( | ) |
Definition at line 406 of file ApiEditPageTest.php.
References $name, $title, ApiTestCase\doApiRequestWithToken(), EDIT_NEW, EDIT_UPDATE, forceRevisionDate(), and list.
ApiEditPageTest::testEditMalformedSection | ( | ) |
Definition at line 1210 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\editPage().
ApiEditPageTest::testEditMinor | ( | ) |
Definition at line 1258 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\editPage().
ApiEditPageTest::testEditNewSection | ( | ) |
Test action=edit§ion=new Run it twice so we test adding a new section on a page that doesn't exist (T54830) and one that does exist.
Definition at line 202 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), list, and Revision\RAW.
ApiEditPageTest::testEditRecreate | ( | ) |
Definition at line 1275 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\editPage().
ApiEditPageTest::testEditSection | ( | ) |
Test editing of sections.
Definition at line 163 of file ApiEditPageTest.php.
References $e, $name, ApiTestCase\doApiRequestWithToken(), list, and Revision\RAW.
ApiEditPageTest::testEditUnwatch | ( | ) |
Definition at line 1313 of file ApiEditPageTest.php.
References $name, $user, and ApiTestCase\doApiRequestWithToken().
ApiEditPageTest::testEditWatch | ( | ) |
Definition at line 1298 of file ApiEditPageTest.php.
References $name, $user, and ApiTestCase\doApiRequestWithToken().
ApiEditPageTest::testEditWhileBlocked | ( | ) |
Definition at line 1474 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and Block\newFromTarget().
ApiEditPageTest::testEditWhileReadOnly | ( | ) |
Definition at line 1505 of file ApiEditPageTest.php.
References $name, and ApiTestCase\doApiRequestWithToken().
ApiEditPageTest::testEditWithoutTagPermission | ( | ) |
Definition at line 1357 of file ApiEditPageTest.php.
References $name, ChangeTags\defineTag(), ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\setMwGlobals().
ApiEditPageTest::testEditWithStartTimestamp | ( | ) |
Definition at line 1232 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\editPage().
ApiEditPageTest::testEditWithTag | ( | ) |
Definition at line 1334 of file ApiEditPageTest.php.
References $name, DB_MASTER, ChangeTags\defineTag(), ApiTestCase\doApiRequestWithToken(), and wfGetDB().
ApiEditPageTest::testIncorrectMd5AppendText | ( | ) |
Definition at line 926 of file ApiEditPageTest.php.
References $name, and ApiTestCase\doApiRequestWithToken().
ApiEditPageTest::testIncorrectMd5PrependText | ( | ) |
Definition at line 911 of file ApiEditPageTest.php.
References $name, and ApiTestCase\doApiRequestWithToken().
ApiEditPageTest::testIncorrectMd5Text | ( | ) |
Definition at line 897 of file ApiEditPageTest.php.
References $name, and ApiTestCase\doApiRequestWithToken().
ApiEditPageTest::testMd5AppendText | ( | ) |
Definition at line 862 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\editPage().
ApiEditPageTest::testMd5PrependAndAppendText | ( | ) |
Definition at line 879 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\editPage().
ApiEditPageTest::testMd5PrependText | ( | ) |
Definition at line 845 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\editPage().
ApiEditPageTest::testMd5Text | ( | ) |
Definition at line 830 of file ApiEditPageTest.php.
References $name, and ApiTestCase\doApiRequestWithToken().
ApiEditPageTest::testMismatchedContentFormat | ( | ) |
Definition at line 598 of file ApiEditPageTest.php.
References $name, and ApiTestCase\doApiRequestWithToken().
ApiEditPageTest::testNoCreate | ( | ) |
Definition at line 966 of file ApiEditPageTest.php.
References $name, and ApiTestCase\doApiRequestWithToken().
ApiEditPageTest::testProhibitedAnonymousEdit | ( | ) |
Definition at line 1571 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\setMwGlobals().
ApiEditPageTest::testProhibitedChangeContentModel | ( | ) |
Definition at line 1586 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\setMwGlobals().
ApiEditPageTest::testReversedUndoAfter | ( | ) |
undoafter is supposed to be less than undo.
If not, we reverse their meaning, so that the two are effectively interchangeable.
Definition at line 772 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\editPage().
ApiEditPageTest::testSupportsDirectApiEditing_withContentHandlerOverride | ( | ) |
Definition at line 481 of file ApiEditPageTest.php.
References $data, $name, ApiTestCase\doApiRequestWithToken(), and serialize().
ApiEditPageTest::testTooBigEdit | ( | ) |
Definition at line 1554 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\setMwGlobals().
ApiEditPageTest::testUndoAfterContentModelChange | ( | ) |
This test verifies that after changing the content model of a page, undoing that edit via the API will also undo the content model change.
Definition at line 514 of file ApiEditPageTest.php.
References $name, and ApiTestCase\doApiRequestWithToken().
ApiEditPageTest::testUndoAfterToHiddenRev | ( | ) |
Tests what happens if the undo parameter is a valid revision, but undoafter is hidden (rev_deleted).
Definition at line 677 of file ApiEditPageTest.php.
References $name, RevisionDeleter\createList(), Revision\DELETED_TEXT, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\editPage().
ApiEditPageTest::testUndoAfterToInvalidRev | ( | ) |
Tests what happens if the undo parameter is a valid revision, but the undoafter parameter doesn't refer to a revision that exists in the database.
Definition at line 640 of file ApiEditPageTest.php.
References $name, DB_MASTER, ApiTestCase\doApiRequestWithToken(), MediaWikiTestCase\editPage(), and wfGetDB().
ApiEditPageTest::testUndoAfterToRevFromDifferentPage | ( | ) |
Definition at line 810 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\editPage().
ApiEditPageTest::testUndoToInvalidRev | ( | ) |
Definition at line 618 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\editPage().
ApiEditPageTest::testUndoToRevFromDifferentPage | ( | ) |
Definition at line 791 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\editPage().
ApiEditPageTest::testUndoWithConflicts | ( | ) |
Definition at line 745 of file ApiEditPageTest.php.
References $name, ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\editPage().
ApiEditPageTest::testUndoWithSwappedRevisions | ( | ) |
Test undo when a revision with a higher id has an earlier timestamp.
This can happen if importing an old revision.
Definition at line 710 of file ApiEditPageTest.php.
References $name, DB_MASTER, ApiTestCase\doApiRequestWithToken(), MediaWikiTestCase\editPage(), and wfGetDB().
ApiEditPageTest::testUnsupportedContentFormat | ( | ) |
Definition at line 580 of file ApiEditPageTest.php.
References $name, and ApiTestCase\doApiRequestWithToken().