MediaWiki REL1_31
ApiEditPageTest Class Reference

Tests for MediaWiki api.php?action=edit. More...

Inheritance diagram for ApiEditPageTest:
Collaboration diagram for ApiEditPageTest:

Public Member Functions

 testAppendInMediaWikiNamespace ()
 
 testAppendInMediaWikiNamespaceWithSerializationError ()
 
 testAppendNewSection ()
 
 testAppendNewSectionWithInvalidContentModel ()
 
 testAppendNewSectionWithSummary ()
 
 testAppendNewSectionWithTitle ()
 
 testAppendNewSectionWithTitleAndSummary ()
 
 testAppendToFirstSection ()
 
 testAppendToNonexistentSection ()
 
 testAppendToSection ()
 
 testAppendWithNonTextContentHandler ()
 Appending/prepending is currently only supported for TextContent.
 
 testCheckDirectApiEditingDisallowed_forNonTextContent ()
 
 testCorrectContentFormat ()
 
 testCreateImageRedirectAnon ()
 
 testCreateImageRedirectLoggedIn ()
 
 testCreateOnly ()
 
 testEdit ()
 
 testEdit_redirect ()
 Ensure we can edit through a redirect, if adding a section.
 
 testEdit_redirectText ()
 Ensure we cannot edit through a redirect, if attempting to overwrite content.
 
 testEditAbortedByEditPageHookWithNoResult ()
 
 testEditAbortedByEditPageHookWithResult ()
 
 testEditAbortedByHook ()
 
 testEditAbortedByHookWithCustomOutput ()
 
 testEditAppend ( $text, $op, $append, $expected)
 provideEditAppend
 
 testEditConflict ()
 
 testEditConflict_bug41990 ()
 
 testEditConflict_newSection ()
 Ensure that editing using section=new will prevent simple conflicts.
 
 testEditMalformedSection ()
 
 testEditMinor ()
 
 testEditNewSection ()
 Test action=edit&section=new Run it twice so we test adding a new section on a page that doesn't exist (T54830) and one that does exist.
 
 testEditRecreate ()
 
 testEditSection ()
 Test editing of sections.
 
 testEditUnwatch ()
 
 testEditWatch ()
 
 testEditWhileBlocked ()
 
 testEditWhileReadOnly ()
 
 testEditWithoutTagPermission ()
 
 testEditWithStartTimestamp ()
 
 testEditWithTag ()
 
 testIncorrectMd5AppendText ()
 
 testIncorrectMd5PrependText ()
 
 testIncorrectMd5Text ()
 
 testMd5AppendText ()
 
 testMd5PrependAndAppendText ()
 
 testMd5PrependText ()
 
 testMd5Text ()
 
 testMismatchedContentFormat ()
 
 testNoCreate ()
 
 testProhibitedAnonymousEdit ()
 
 testProhibitedChangeContentModel ()
 
 testReversedUndoAfter ()
 undoafter is supposed to be less than undo.
 
 testSupportsDirectApiEditing_withContentHandlerOverride ()
 
 testTooBigEdit ()
 
 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.
 
 testUndoAfterToHiddenRev ()
 Tests what happens if the undo parameter is a valid revision, but undoafter is hidden (rev_deleted).
 
 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.
 
 testUndoAfterToRevFromDifferentPage ()
 
 testUndoToInvalidRev ()
 
 testUndoToRevFromDifferentPage ()
 
 testUndoWithConflicts ()
 
 testUndoWithSwappedRevisions ()
 Test undo when a revision with a higher id has an earlier timestamp.
 
 testUnsupportedContentFormat ()
 
- Public Member Functions inherited from ApiTestCase
 testApiTestGroup ()
 @coversNothing
 
- Public Member Functions inherited from MediaWikiTestCase
 __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)
 
 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 ()
 

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 getTestSysop ()
 Convenience method for getting an immutable admin test user.
 
static getTestUser ( $groups=[])
 Convenience method for getting an immutable test user.
 
static listTables (IMaintainableDatabase $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

 forceRevisionDate (WikiPage $page, $timestamp)
 
 setUp ()
 
 tearDown ()
 
- 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.
 
 editPage ( $pageName, $text, $summary='', $defaultNs=NS_MAIN)
 Edits or creates a page/revision.
 
 getTokenList (TestUser $user, $session=null)
 
 revisionDelete ( $rev, array $value=[Revision::DELETED_TEXT=> 1], $comment='')
 Revision-deletes a revision.
 
 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.
 
- 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.
 
 assertFileContains ( $fileName, $actualData, $createIfMissing=true, $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.
 
 getDefaultWikitextNS ()
 Returns the ID of a namespace that defaults to Wikitext.
 
 getNewTempDirectory ()
 obtains a new temporary directory
 
 getNewTempFile ()
 Obtains a new temporary file name.
 
 getSchemaOverrides (IMaintainableDatabase $db)
 Stub.
 
 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)
 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()
 

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 resetGlobalServices (Config $bootstrapConfig=null)
 Reset global services, and install testing environment.
 
static setupDatabaseWithTestPrefix (IMaintainableDatabase $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.
 
- 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
 

Detailed Description

Tests for MediaWiki api.php?action=edit.

Author
Daniel Kinzler

API Database medium

ApiEditPage

Definition at line 14 of file ApiEditPageTest.php.

Member Function Documentation

◆ forceRevisionDate()

ApiEditPageTest::forceRevisionDate ( WikiPage  $page,
  $timestamp 
)
protected
Parameters
WikiPage$page
string | int$timestamp

Definition at line 469 of file ApiEditPageTest.php.

References WikiPage\clear(), DB_MASTER, WikiPage\getLatest(), and wfGetDB().

◆ provideEditAppend()

static ApiEditPageTest::provideEditAppend ( )
static
Returns
array

Definition at line 111 of file ApiEditPageTest.php.

References page.

◆ setUp()

ApiEditPageTest::setUp ( )
protected

◆ tearDown()

ApiEditPageTest::tearDown ( )
protected

Reimplemented from ApiTestCase.

Definition at line 45 of file ApiEditPageTest.php.

References $wgContLang, cache, and global.

◆ testAppendInMediaWikiNamespace()

ApiEditPageTest::testAppendInMediaWikiNamespace ( )

Definition at line 1025 of file ApiEditPageTest.php.

References $name.

◆ testAppendInMediaWikiNamespaceWithSerializationError()

ApiEditPageTest::testAppendInMediaWikiNamespaceWithSerializationError ( )

Definition at line 1039 of file ApiEditPageTest.php.

References $name, $title, and use.

◆ testAppendNewSection()

ApiEditPageTest::testAppendNewSection ( )

Definition at line 1061 of file ApiEditPageTest.php.

References $name.

◆ testAppendNewSectionWithInvalidContentModel()

ApiEditPageTest::testAppendNewSectionWithInvalidContentModel ( )

Definition at line 1079 of file ApiEditPageTest.php.

References $name.

◆ testAppendNewSectionWithSummary()

ApiEditPageTest::testAppendNewSectionWithSummary ( )

Definition at line 1117 of file ApiEditPageTest.php.

References $name.

◆ testAppendNewSectionWithTitle()

ApiEditPageTest::testAppendNewSectionWithTitle ( )

Definition at line 1096 of file ApiEditPageTest.php.

References $name.

◆ testAppendNewSectionWithTitleAndSummary()

ApiEditPageTest::testAppendNewSectionWithTitleAndSummary ( )

Definition at line 1139 of file ApiEditPageTest.php.

References $name.

◆ testAppendToFirstSection()

ApiEditPageTest::testAppendToFirstSection ( )

Definition at line 1181 of file ApiEditPageTest.php.

References $name.

◆ testAppendToNonexistentSection()

ApiEditPageTest::testAppendToNonexistentSection ( )

Definition at line 1200 of file ApiEditPageTest.php.

References $name.

◆ testAppendToSection()

ApiEditPageTest::testAppendToSection ( )

Definition at line 1161 of file ApiEditPageTest.php.

References $name.

◆ testAppendWithNonTextContentHandler()

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 1003 of file ApiEditPageTest.php.

References $name, $title, and use.

◆ testCheckDirectApiEditingDisallowed_forNonTextContent()

ApiEditPageTest::testCheckDirectApiEditingDisallowed_forNonTextContent ( )

Definition at line 479 of file ApiEditPageTest.php.

◆ testCorrectContentFormat()

ApiEditPageTest::testCorrectContentFormat ( )

Definition at line 578 of file ApiEditPageTest.php.

References $name.

◆ testCreateImageRedirectAnon()

ApiEditPageTest::testCreateImageRedirectAnon ( )

Definition at line 1527 of file ApiEditPageTest.php.

References $name.

◆ testCreateImageRedirectLoggedIn()

ApiEditPageTest::testCreateImageRedirectLoggedIn ( )

Definition at line 1540 of file ApiEditPageTest.php.

References $name.

◆ testCreateOnly()

ApiEditPageTest::testCreateOnly ( )

Definition at line 953 of file ApiEditPageTest.php.

References $name.

◆ testEdit()

ApiEditPageTest::testEdit ( )

Definition at line 54 of file ApiEditPageTest.php.

References $name.

◆ testEdit_redirect()

ApiEditPageTest::testEdit_redirect ( )

Ensure we can edit through a redirect, if adding a section.

Definition at line 254 of file ApiEditPageTest.php.

References $name, $title, EDIT_NEW, EDIT_UPDATE, and list.

◆ testEdit_redirectText()

ApiEditPageTest::testEdit_redirectText ( )

Ensure we cannot edit through a redirect, if attempting to overwrite content.

Definition at line 300 of file ApiEditPageTest.php.

References $name, $title, EDIT_NEW, and EDIT_UPDATE.

◆ testEditAbortedByEditPageHookWithNoResult()

ApiEditPageTest::testEditAbortedByEditPageHookWithNoResult ( )

Definition at line 1457 of file ApiEditPageTest.php.

References $name.

◆ testEditAbortedByEditPageHookWithResult()

ApiEditPageTest::testEditAbortedByEditPageHookWithResult ( )

Definition at line 1437 of file ApiEditPageTest.php.

References $name, and $res.

◆ testEditAbortedByHook()

ApiEditPageTest::testEditAbortedByHook ( )

Definition at line 1386 of file ApiEditPageTest.php.

References $name.

◆ testEditAbortedByHookWithCustomOutput()

ApiEditPageTest::testEditAbortedByHookWithCustomOutput ( )

Definition at line 1412 of file ApiEditPageTest.php.

References $name.

◆ testEditAppend()

ApiEditPageTest::testEditAppend (   $text,
  $op,
  $append,
  $expected 
)

provideEditAppend

Definition at line 137 of file ApiEditPageTest.php.

References $name, and list.

◆ testEditConflict()

ApiEditPageTest::testEditConflict ( )

Definition at line 345 of file ApiEditPageTest.php.

References $name, $title, EDIT_NEW, and EDIT_UPDATE.

◆ testEditConflict_bug41990()

ApiEditPageTest::testEditConflict_bug41990 ( )

Definition at line 418 of file ApiEditPageTest.php.

References $name, $title, EDIT_NEW, EDIT_UPDATE, and list.

◆ testEditConflict_newSection()

ApiEditPageTest::testEditConflict_newSection ( )

Ensure that editing using section=new will prevent simple conflicts.

Definition at line 384 of file ApiEditPageTest.php.

References $name, $title, EDIT_NEW, EDIT_UPDATE, and list.

◆ testEditMalformedSection()

ApiEditPageTest::testEditMalformedSection ( )

Definition at line 1222 of file ApiEditPageTest.php.

References $name.

◆ testEditMinor()

ApiEditPageTest::testEditMinor ( )

Definition at line 1270 of file ApiEditPageTest.php.

References $name.

◆ testEditNewSection()

ApiEditPageTest::testEditNewSection ( )

Test action=edit&section=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 214 of file ApiEditPageTest.php.

References $name, and list.

◆ testEditRecreate()

ApiEditPageTest::testEditRecreate ( )

Definition at line 1287 of file ApiEditPageTest.php.

References $name.

◆ testEditSection()

ApiEditPageTest::testEditSection ( )

Test editing of sections.

Definition at line 175 of file ApiEditPageTest.php.

References $e, $name, and list.

◆ testEditUnwatch()

ApiEditPageTest::testEditUnwatch ( )

Definition at line 1325 of file ApiEditPageTest.php.

References $name, and $user.

◆ testEditWatch()

ApiEditPageTest::testEditWatch ( )

Definition at line 1310 of file ApiEditPageTest.php.

References $name, and $user.

◆ testEditWhileBlocked()

ApiEditPageTest::testEditWhileBlocked ( )

Definition at line 1480 of file ApiEditPageTest.php.

References $name.

◆ testEditWhileReadOnly()

ApiEditPageTest::testEditWhileReadOnly ( )

Definition at line 1507 of file ApiEditPageTest.php.

References $name.

◆ testEditWithoutTagPermission()

ApiEditPageTest::testEditWithoutTagPermission ( )

Definition at line 1363 of file ApiEditPageTest.php.

References $name, and ChangeTags\defineTag().

◆ testEditWithStartTimestamp()

ApiEditPageTest::testEditWithStartTimestamp ( )

Definition at line 1244 of file ApiEditPageTest.php.

References $name.

◆ testEditWithTag()

ApiEditPageTest::testEditWithTag ( )

Definition at line 1346 of file ApiEditPageTest.php.

References $name, DB_MASTER, ChangeTags\defineTag(), and wfGetDB().

◆ testIncorrectMd5AppendText()

ApiEditPageTest::testIncorrectMd5AppendText ( )

Definition at line 938 of file ApiEditPageTest.php.

References $name.

◆ testIncorrectMd5PrependText()

ApiEditPageTest::testIncorrectMd5PrependText ( )

Definition at line 923 of file ApiEditPageTest.php.

References $name.

◆ testIncorrectMd5Text()

ApiEditPageTest::testIncorrectMd5Text ( )

Definition at line 909 of file ApiEditPageTest.php.

References $name.

◆ testMd5AppendText()

ApiEditPageTest::testMd5AppendText ( )

Definition at line 874 of file ApiEditPageTest.php.

References $name.

◆ testMd5PrependAndAppendText()

ApiEditPageTest::testMd5PrependAndAppendText ( )

Definition at line 891 of file ApiEditPageTest.php.

References $name.

◆ testMd5PrependText()

ApiEditPageTest::testMd5PrependText ( )

Definition at line 857 of file ApiEditPageTest.php.

References $name.

◆ testMd5Text()

ApiEditPageTest::testMd5Text ( )

Definition at line 842 of file ApiEditPageTest.php.

References $name.

◆ testMismatchedContentFormat()

ApiEditPageTest::testMismatchedContentFormat ( )

Definition at line 610 of file ApiEditPageTest.php.

References $name.

◆ testNoCreate()

ApiEditPageTest::testNoCreate ( )

Definition at line 978 of file ApiEditPageTest.php.

References $name.

◆ testProhibitedAnonymousEdit()

ApiEditPageTest::testProhibitedAnonymousEdit ( )

Definition at line 1573 of file ApiEditPageTest.php.

References $name.

◆ testProhibitedChangeContentModel()

ApiEditPageTest::testProhibitedChangeContentModel ( )

Definition at line 1588 of file ApiEditPageTest.php.

References $name.

◆ testReversedUndoAfter()

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 784 of file ApiEditPageTest.php.

References $name.

◆ testSupportsDirectApiEditing_withContentHandlerOverride()

ApiEditPageTest::testSupportsDirectApiEditing_withContentHandlerOverride ( )

Definition at line 493 of file ApiEditPageTest.php.

References $name, and serialize().

◆ testTooBigEdit()

ApiEditPageTest::testTooBigEdit ( )

Definition at line 1556 of file ApiEditPageTest.php.

References $name.

◆ testUndoAfterContentModelChange()

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 526 of file ApiEditPageTest.php.

References $name.

◆ testUndoAfterToHiddenRev()

ApiEditPageTest::testUndoAfterToHiddenRev ( )

Tests what happens if the undo parameter is a valid revision, but undoafter is hidden (rev_deleted).

Definition at line 689 of file ApiEditPageTest.php.

References $name, RevisionDeleter\createList(), and RequestContext\getMain().

◆ testUndoAfterToInvalidRev()

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 652 of file ApiEditPageTest.php.

References $name, DB_MASTER, and wfGetDB().

◆ testUndoAfterToRevFromDifferentPage()

ApiEditPageTest::testUndoAfterToRevFromDifferentPage ( )

Definition at line 822 of file ApiEditPageTest.php.

References $name.

◆ testUndoToInvalidRev()

ApiEditPageTest::testUndoToInvalidRev ( )

Definition at line 630 of file ApiEditPageTest.php.

References $name.

◆ testUndoToRevFromDifferentPage()

ApiEditPageTest::testUndoToRevFromDifferentPage ( )

Definition at line 803 of file ApiEditPageTest.php.

References $name.

◆ testUndoWithConflicts()

ApiEditPageTest::testUndoWithConflicts ( )

Definition at line 757 of file ApiEditPageTest.php.

References $name.

◆ testUndoWithSwappedRevisions()

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 722 of file ApiEditPageTest.php.

References $name, DB_MASTER, wfGetDB(), and wfTimestamp().

◆ testUnsupportedContentFormat()

ApiEditPageTest::testUnsupportedContentFormat ( )

Definition at line 592 of file ApiEditPageTest.php.

References $name.


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