MediaWiki REL1_33
ApiParseTest Class Reference

API Database medium. More...

Inheritance diagram for ApiParseTest:
Collaboration diagram for ApiParseTest:

Public Member Functions

 addDBDataOnce ()
 Stub.
 
 testCategoriesHtml ()
 
 testDisableTidy ()
 
 testEffectiveLangLinks ()
 
 testExistingSection ()
 
 testFollowedRedirect ()
 
 testFollowedRedirectById ()
 
 testFormatCategories ()
 
 testHeadHtml ()
 
 testHeadItems ()
 
 testHeadItemsWithSkin ()
 
 testIndicators ()
 
 testIndicatorsWithSkin ()
 
 testInvalidSection ()
 
 testInvalidTitle ()
 
 testIwlinks ()
 
 testLangLinks ()
 
 testLangLinksWithSkin ()
 
 testLimitReports ()
 
 testModules ()
 
 testModulesWithSkin ()
 
 testNewSection ()
 
 testNewSectionWithPage ()
 
 testNonexistentOldId ()
 
 testNonexistentPage ()
 
 testNoPst ()
 
 testOnlyPst ()
 
 testParseById ()
 
 testParseByName ()
 
 testParseByOldId ()
 
 testParseTree ()
 
 testParseTreeNonWikitext ()
 
 testPst ()
 
 testRevDel ()
 
 testRevDelNoPermission ()
 
 testRevId ()
 
 testRevidNoText ()
 
 testSection ()
 
 testSectionNoContent ()
 
 testSerializationError ()
 
 testSuppressed ()
 
 testTextNoContentModel ()
 
 testTitleNoText ()
 
 testTitleProvided ()
 
 testTitleWithNonexistentRevId ()
 
 testTitleWithNonMatchingRevId ()
 
 testUnfollowedRedirect ()
 
- Public Member Functions inherited from ApiTestCase
 testApiTestGroup ()
 @coversNothing
 
- Public Member Functions inherited from MediaWikiTestCase
 __construct ( $name=null, array $data=[], $dataName='')
 
 __destruct ()
 
 addDBData ()
 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

 assertParsedTo ( $expected, array $res, $warnings=null)
 Assert that the given result of calling $this->doApiRequest() with action=parse resulted in $html, accounting for the boilerplate that the parser adds around the parsed page.
 
 assertParsedToRegExp ( $expected, array $res, $warnings=null)
 Same as above, but asserts that the HTML matches a regexp instead of a literal string match.
 
 setupInterwiki ()
 Set up an interwiki entry for testing.
 
 setupSkin ()
 Set up a skin for testing.
 
- 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.
 
 setUp ()
 
 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.
 

Static Protected Attributes

static $pageId
 
static $revIds = []
 
- Static Protected Attributes inherited from ApiTestCase
static $apiUrl
 
static $errorFormatter = null
 

Private Member Functions

 doAssertParsedTo ( $expected, array $res, $warnings, callable $callback)
 
 doTestLangLinks (array $arr=[])
 

Additional Inherited Members

- 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.
 
- 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 = []
 

Detailed Description

API Database medium.

ApiParse

Definition at line 10 of file ApiParseTest.php.

Member Function Documentation

◆ addDBDataOnce()

ApiParseTest::addDBDataOnce ( )

Stub.

If a test suite needs to add additional data to the database, it should implement this method and do so. This method is called once per test suite (i.e. once per class).

Note data added by this method may be removed by resetDB() depending on the contents of $tablesUsed.

To add additional data between test function runs, override prepareDB().

See also
addDBData()
resetDB()
Since
1.27

Reimplemented from MediaWikiTestCase.

Definition at line 15 of file ApiParseTest.php.

References $title, Revision\DELETED_RESTRICTED, Revision\DELETED_TEXT, MediaWikiTestCase\editPage(), and MediaWikiTestCase\revisionDelete().

◆ assertParsedTo()

ApiParseTest::assertParsedTo (   $expected,
array  $res,
  $warnings = null 
)
protected

Assert that the given result of calling $this->doApiRequest() with action=parse resulted in $html, accounting for the boilerplate that the parser adds around the parsed page.

Also asserts that warnings match the provided $warning.

Parameters
string$htmlExpected HTML
array$resReturned from doApiRequest()
string | null$warningsExact value of expected warnings, null for no warnings

Definition at line 51 of file ApiParseTest.php.

References $res, and doAssertParsedTo().

Referenced by testDisableTidy(), testFollowedRedirect(), testFollowedRedirectById(), testNoPst(), testParseById(), testParseByName(), testParseByOldId(), testPst(), testRevDel(), testRevId(), testRevidNoText(), testSuppressed(), testTextNoContentModel(), testTitleNoText(), testTitleProvided(), and testTitleWithNonMatchingRevId().

◆ assertParsedToRegExp()

ApiParseTest::assertParsedToRegExp (   $expected,
array  $res,
  $warnings = null 
)
protected

Same as above, but asserts that the HTML matches a regexp instead of a literal string match.

Parameters
string$htmlExpected HTML
array$resReturned from doApiRequest()
string | null$warningsExact value of expected warnings, null for no warnings

Definition at line 64 of file ApiParseTest.php.

References $res, and doAssertParsedTo().

Referenced by testExistingSection(), testNewSection(), and testSection().

◆ doAssertParsedTo()

ApiParseTest::doAssertParsedTo (   $expected,
array  $res,
  $warnings,
callable  $callback 
)
private

Definition at line 68 of file ApiParseTest.php.

References $html, and $res.

Referenced by assertParsedTo(), and assertParsedToRegExp().

◆ doTestLangLinks()

ApiParseTest::doTestLangLinks ( array  $arr = [])
private
Parameters
array$arrExtra params to add to API request

Definition at line 583 of file ApiParseTest.php.

References $res, ApiTestCase\doApiRequest(), and setupInterwiki().

Referenced by testLangLinks(), and testLangLinksWithSkin().

◆ setupInterwiki()

ApiParseTest::setupInterwiki ( )
protected

Set up an interwiki entry for testing.

Definition at line 107 of file ApiParseTest.php.

References DB_MASTER, MediaWikiTestCase\setMwGlobals(), and wfGetDB().

Referenced by doTestLangLinks(), and testIwlinks().

◆ setupSkin()

ApiParseTest::setupSkin ( )
protected

Set up a skin for testing.

Todo:
Should this code be in MediaWikiTestCase or something?

Definition at line 131 of file ApiParseTest.php.

References $out, $skin, and MediaWikiTestCase\setService().

Referenced by testHeadItemsWithSkin(), testIndicatorsWithSkin(), testLangLinksWithSkin(), and testModulesWithSkin().

◆ testCategoriesHtml()

ApiParseTest::testCategoriesHtml ( )

◆ testDisableTidy()

ApiParseTest::testDisableTidy ( )

◆ testEffectiveLangLinks()

ApiParseTest::testEffectiveLangLinks ( )

◆ testExistingSection()

ApiParseTest::testExistingSection ( )

Definition at line 465 of file ApiParseTest.php.

References $res, assertParsedToRegExp(), and ApiTestCase\doApiRequest().

◆ testFollowedRedirect()

ApiParseTest::testFollowedRedirect ( )

◆ testFollowedRedirectById()

ApiParseTest::testFollowedRedirectById ( )

◆ testFormatCategories()

ApiParseTest::testFormatCategories ( )

◆ testHeadHtml()

ApiParseTest::testHeadHtml ( )

Definition at line 531 of file ApiParseTest.php.

References $res, and ApiTestCase\doApiRequest().

◆ testHeadItems()

ApiParseTest::testHeadItems ( )

Definition at line 611 of file ApiParseTest.php.

References $res, and ApiTestCase\doApiRequest().

◆ testHeadItemsWithSkin()

ApiParseTest::testHeadItemsWithSkin ( )

Definition at line 628 of file ApiParseTest.php.

References $res, ApiTestCase\doApiRequest(), and setupSkin().

◆ testIndicators()

ApiParseTest::testIndicators ( )

Definition at line 708 of file ApiParseTest.php.

References $res, and ApiTestCase\doApiRequest().

◆ testIndicatorsWithSkin()

ApiParseTest::testIndicatorsWithSkin ( )

Definition at line 725 of file ApiParseTest.php.

References $res, ApiTestCase\doApiRequest(), and setupSkin().

◆ testInvalidSection()

ApiParseTest::testInvalidSection ( )

Definition at line 260 of file ApiParseTest.php.

References ApiTestCase\doApiRequest().

◆ testInvalidTitle()

ApiParseTest::testInvalidTitle ( )

Definition at line 363 of file ApiParseTest.php.

References ApiTestCase\doApiRequest().

◆ testIwlinks()

ApiParseTest::testIwlinks ( )

Definition at line 745 of file ApiParseTest.php.

References $res, ApiTestCase\doApiRequest(), and setupInterwiki().

◆ testLangLinks()

ApiParseTest::testLangLinks ( )

Definition at line 602 of file ApiParseTest.php.

References doTestLangLinks().

◆ testLangLinksWithSkin()

ApiParseTest::testLangLinksWithSkin ( )

Definition at line 606 of file ApiParseTest.php.

References doTestLangLinks(), and setupSkin().

◆ testLimitReports()

ApiParseTest::testLimitReports ( )

Definition at line 764 of file ApiParseTest.php.

References $res, and ApiTestCase\doApiRequest().

◆ testModules()

ApiParseTest::testModules ( )

◆ testModulesWithSkin()

ApiParseTest::testModulesWithSkin ( )

Definition at line 672 of file ApiParseTest.php.

References $res, ApiTestCase\doApiRequest(), and setupSkin().

◆ testNewSection()

ApiParseTest::testNewSection ( )

Definition at line 453 of file ApiParseTest.php.

References $res, assertParsedToRegExp(), and ApiTestCase\doApiRequest().

◆ testNewSectionWithPage()

ApiParseTest::testNewSectionWithPage ( )

Definition at line 294 of file ApiParseTest.php.

References ApiTestCase\doApiRequest().

◆ testNonexistentOldId()

ApiParseTest::testNonexistentOldId ( )

Definition at line 306 of file ApiParseTest.php.

References ApiTestCase\doApiRequest().

◆ testNonexistentPage()

ApiParseTest::testNonexistentPage ( )

◆ testNoPst()

ApiParseTest::testNoPst ( )

◆ testOnlyPst()

ApiParseTest::testOnlyPst ( )

◆ testParseById()

ApiParseTest::testParseById ( )

Definition at line 167 of file ApiParseTest.php.

References $res, assertParsedTo(), and ApiTestCase\doApiRequest().

◆ testParseByName()

ApiParseTest::testParseByName ( )

Definition at line 152 of file ApiParseTest.php.

References $res, assertParsedTo(), and ApiTestCase\doApiRequest().

◆ testParseByOldId()

ApiParseTest::testParseByOldId ( )

Definition at line 175 of file ApiParseTest.php.

References $res, assertParsedTo(), and ApiTestCase\doApiRequest().

◆ testParseTree()

ApiParseTest::testParseTree ( )

Definition at line 789 of file ApiParseTest.php.

References $res, and ApiTestCase\doApiRequest().

◆ testParseTreeNonWikitext()

ApiParseTest::testParseTreeNonWikitext ( )

Definition at line 777 of file ApiParseTest.php.

References ApiTestCase\doApiRequest().

◆ testPst()

ApiParseTest::testPst ( )

◆ testRevDel()

ApiParseTest::testRevDel ( )

Definition at line 185 of file ApiParseTest.php.

References $res, assertParsedTo(), and ApiTestCase\doApiRequest().

◆ testRevDelNoPermission()

ApiParseTest::testRevDelNoPermission ( )

Definition at line 196 of file ApiParseTest.php.

References ApiTestCase\doApiRequest().

◆ testRevId()

ApiParseTest::testRevId ( )

Definition at line 397 of file ApiParseTest.php.

References $res, assertParsedTo(), and ApiTestCase\doApiRequest().

◆ testRevidNoText()

ApiParseTest::testRevidNoText ( )

Definition at line 418 of file ApiParseTest.php.

References $res, assertParsedTo(), and ApiTestCase\doApiRequest().

◆ testSection()

ApiParseTest::testSection ( )

◆ testSectionNoContent()

ApiParseTest::testSectionNoContent ( )

Definition at line 270 of file ApiParseTest.php.

References $name, ApiTestCase\doApiRequest(), and MediaWikiTestCase\editPage().

◆ testSerializationError()

ApiParseTest::testSerializationError ( )

◆ testSuppressed()

ApiParseTest::testSuppressed ( )

◆ testTextNoContentModel()

ApiParseTest::testTextNoContentModel ( )

Definition at line 429 of file ApiParseTest.php.

References $res, assertParsedTo(), and ApiTestCase\doApiRequest().

◆ testTitleNoText()

ApiParseTest::testTitleNoText ( )

Definition at line 407 of file ApiParseTest.php.

References $res, assertParsedTo(), and ApiTestCase\doApiRequest().

◆ testTitleProvided()

ApiParseTest::testTitleProvided ( )

Definition at line 235 of file ApiParseTest.php.

References $res, assertParsedTo(), and ApiTestCase\doApiRequest().

◆ testTitleWithNonexistentRevId()

ApiParseTest::testTitleWithNonexistentRevId ( )

Definition at line 372 of file ApiParseTest.php.

References ApiTestCase\doApiRequest().

◆ testTitleWithNonMatchingRevId()

ApiParseTest::testTitleWithNonMatchingRevId ( )

Definition at line 383 of file ApiParseTest.php.

References $name, $res, assertParsedTo(), and ApiTestCase\doApiRequest().

◆ testUnfollowedRedirect()

ApiParseTest::testUnfollowedRedirect ( )

Member Data Documentation

◆ $pageId

ApiParseTest::$pageId
staticprotected

Definition at line 12 of file ApiParseTest.php.

◆ $revIds

ApiParseTest::$revIds = []
staticprotected

Definition at line 13 of file ApiParseTest.php.


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