MediaWiki  1.33.0
LanguageClassesTestCase Class Reference

Helping class to run tests using a clean language instance. More...

Inherits MediaWikiTestCase.

Inherited by LanguageAmTest, LanguageArqTest, LanguageArTest, LanguageBe_taraskTest, LanguageBeTest, LanguageBhoTest, LanguageBsTest, LanguageCrhTest, LanguageCsTest, LanguageCuTest, LanguageCyTest, LanguageDsbTest, LanguageFrTest, LanguageGanTest, LanguageGaTest, LanguageGdTest, LanguageGvTest, LanguageHeTest, LanguageHiTest, LanguageHrTest, LanguageHsbTest, LanguageHuTest, LanguageHyTest, LanguageIuTest, LanguageKkTest, LanguageKshTest, LanguageKuTest, LanguageLnTest, LanguageLtTest, LanguageLvTest, LanguageMgTest, LanguageMkTest, LanguageMlTest, LanguageMoTest, LanguageMtTest, LanguageNlTest, LanguageNsoTest, LanguagePlTest, LanguageRoTest, LanguageRuTest, LanguageSeTest, LanguageSgsTest, LanguageShiTest, LanguageShTest, LanguageSkTest, LanguageSlTest, LanguageSmaTest, LanguageSrTest, LanguageTest, LanguageTgTest, LanguageTiTest, LanguageTlTest, LanguageTrTest, LanguageUkTest, LanguageUzTest, LanguageWaTest, and LanguageZhTest.

Collaboration diagram for LanguageClassesTestCase:

Protected Member Functions

 getLang ()
 setUp ()
 Create a new language object before each test. More...
 tearDown ()
 Delete the internal language object so each test start out with a fresh language instance. More...
- 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. More...
 assertArrayEquals (array $expected, array $actual, $ordered=false, $named=false)
 Assert that two arrays are equal. More...
 assertFileContains ( $fileName, $actualData, $createIfMissing=false, $msg='')
 Check whether file contains given data. 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, array $options=[], array $join_conds=[])
 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...
 checkDbIsSupported ()
 checkPHPExtension ( $extName)
 Check if $extName is a loaded PHP extension, will skip the test whenever it is not loaded. More...
 editPage ( $pageName, $text, $summary='', $defaultNs=NS_MAIN)
 Edits or creates a page/revision. More...
 ensureMockDatabaseConnection (IDatabase $db)
 getDefaultWikitextNS ()
 Returns the ID of a namespace that defaults to Wikitext. More...
 getExistingTestPage ( $title=null)
 Returns a WikiPage representing an existing page. More...
 getNewTempDirectory ()
 obtains a new temporary directory More...
 getNewTempFile ()
 Obtains a new temporary file name. More...
 getNonexistingTestPage ( $title=null)
 Returns a WikiPage representing a non-existing page. More...
 getSchemaOverrides (IMaintainableDatabase $db)
 Stub. More...
 insertPage ( $pageName, $text='Sample page for unit test.', $namespace=null, User $user=null)
 Insert a new page. More...
 isTestInDatabaseGroup ()
 isWikitextNS ( $ns)
 Returns true if the given namespace defaults to Wikitext according to $wgNamespaceContentModels. More...
 markTestSkippedIfDbType ( $type)
 Skip the test if using the specified database type. More...
 markTestSkippedIfNoDiff3 ()
 Check, if $wgDiff3 is set and ready to merge Will mark the calling test as skipped, if not ready. 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...
 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. More...
 revisionDelete ( $rev, array $value=[Revision::DELETED_TEXT=> 1], $comment='')
 Revision-deletes a revision. More...
 setIniSetting ( $name, $value)
 Set an ini setting for the duration of the test. More...
 setLogger ( $channel, LoggerInterface $logger)
 Sets the logger for a specified channel, for the duration of the test. More...
 setMwGlobals ( $pairs, $value=null)
 Sets a global, maintaining a stashed version of the previous global to be restored in tearDown. More...
 setService ( $name, $object)
 Sets a service, maintaining a stashed version of the previous service to be restored in tearDown. More...
 setTemporaryHook ( $hookName, $handler)
 Create a temporary hook handler which will be reset by tearDown. More...
 stashMwGlobals ( $globalKeys)
 Stashes the global, will be restored in tearDown() More...
 truncateTable ( $tableName, IDatabase $db=null)
 Empties the given table and resets any auto-increment counters. More...

Private Attributes

 Internal language object. More...

Additional Inherited Members

- Public Member Functions inherited from MediaWikiTestCase
 __construct ( $name=null, array $data=[], $dataName='')
 __destruct ()
 addDBData ()
 Stub. More...
 addDBDataOnce ()
 Stub. More...
 copyTestData (IDatabase $source, IDatabase $target)
 Copy test data from one database connection to another. 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)
 setContentLang ( $lang)
 setGroupPermissions ( $newPerms, $newKey=null, $newValue=null)
 Alters $wgGroupPermissions for the duration of the test. More...
 setupAllTestDBs ()
 Set up all test DBs. More...
 setUserLang ( $lang)
 testMediaWikiTestCaseParentSetupCalled ()
 Make sure MediaWikiTestCase extending classes have called their parent setUp method. More...
 usesTemporaryTables ()
- Static Public Member Functions inherited from MediaWikiTestCase
static getMutableTestUser ( $groups=[])
 Convenience method for getting a mutable test user. More...
static getTestPrefixFor (IDatabase $db)
static getTestSysop ()
 Convenience method for getting an immutable admin test user. More...
static getTestUser ( $groups=[])
 Convenience method for getting an immutable test user. More...
static installMockMwServices (Config $configOverrides=null)
 Creates a new "mock" MediaWikiServices instance, and installs it. More...
static listTables (IMaintainableDatabase $db)
static prepareServices (Config $bootstrapConfig)
static resetNonServiceCaches ()
 Resets some non-service singleton instances and other static caches. More...
static restoreMwServices ()
 Restores the original, non-mock MediaWikiServices instance. More...
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. More...
static teardownTestDB ()
 Restores MediaWiki to using the table set (table prefix) it was using before setupTestDB() was called. More...
static wfResetOutputBuffersBarrier ( $buffer)
 Used as a marker to prevent wfResetOutputBuffers from breaking PHPUnit. 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 TestUser[] $users
- Static Protected Member Functions inherited from MediaWikiTestCase
static getExternalStoreDatabaseConnections ()
 Gets master database connections for all of the ExternalStoreDB stores configured in $wgDefaultExternalStore. More...
static isUsingExternalStoreDB ()
 Check whether ExternalStoreDB is being used. More...
static setupDatabaseWithTestPrefix (IMaintainableDatabase $db, $prefix=null)
 Setups a database with cloned tables using the given prefix. More...
static setupExternalStoreTestDBs ( $testPrefix=null)
 Clones the External Store database(s) for testing. More...
static stripStringKeys (&$r)
 Utility function for eliminating all string keys from an array. More...
- Protected Attributes inherited from MediaWikiTestCase
Database $db
 Primary database. More...
array $supportedDBs
array $tablesUsed = []

Detailed Description

Helping class to run tests using a clean language instance.

This is intended for the MediaWiki language class tests under tests/phpunit/languages.

Before each tests, a new language object is build which you can retrieve in your test using the $this->getLang() method:

Using the crafted language object:
function testHasLanguageObject() {
$langObject = $this->getLang();
$this->assertInstanceOf( 'LanguageFoo',

Definition at line 21 of file LanguageClassesTestCase.php.

Member Function Documentation

◆ getLang()

LanguageClassesTestCase::getLang ( )

Definition at line 41 of file LanguageClassesTestCase.php.

References $languageObject.

Referenced by LanguageUzTest\convertTo(), LanguageSrTest\convertTo(), LanguageShiTest\testAutoConvertToAllVariants(), LanguageGanTest\testAutoConvertToAllVariants(), LanguageKuTest\testAutoConvertToAllVariants(), LanguageTgTest\testAutoConvertToAllVariants(), LanguageIuTest\testAutoConvertToAllVariants(), LanguageZhTest\testAutoConvertToAllVariants(), LanguageKkTest\testAutoConvertToAllVariants(), LanguageCrhTest\testAutoConvertToAllVariantsByString(), LanguageCrhTest\testAutoConvertToAllVariantsByWord(), LanguageBe_taraskTest\testBeTaraskTestsUsesBeTaraskCode(), LanguageTest\testCheckTitleEncoding(), LanguageBe_taraskTest\testCommafy(), LanguagePlTest\testCommafy(), LanguageTest\testCommafy(), LanguageTest\testConvertPlural(), LanguageBe_taraskTest\testDoesNotCommafyFourDigitsNumber(), LanguageTrTest\testDottedAndDotlessI(), LanguageTest\testEmbedBidi(), LanguageRuTest\testExplicitPlural(), LanguageUkTest\testExplicitPlural(), LanguageGdTest\testExplicitPlural(), LanguageTest\testFormatBitrate(), LanguageTest\testFormatDuration(), LanguageArTest\testFormatNum(), LanguageArqTest\testFormatNum(), LanguageNlTest\testFormatNum(), LanguageMlTest\testFormatNum(), LanguageTest\testFormatSize(), LanguageTest\testFormatTimePeriod(), LanguageHeTest\testFourPluralForms(), LanguageFrTest\testGetPluralRuleType(), LanguageLtTest\testGetPluralRuleType(), LanguageLvTest\testGetPluralRuleType(), LanguageMgTest\testGetPluralRuleType(), LanguageBeTest\testGetPluralRuleType(), LanguageMkTest\testGetPluralRuleType(), LanguageMoTest\testGetPluralRuleType(), LanguageMtTest\testGetPluralRuleType(), LanguageBhoTest\testGetPluralRuleType(), LanguageNsoTest\testGetPluralRuleType(), LanguagePlTest\testGetPluralRuleType(), LanguageRoTest\testGetPluralRuleType(), LanguageHiTest\testGetPluralRuleType(), LanguageSeTest\testGetPluralRuleType(), LanguageAmTest\testGetPluralRuleType(), LanguageCsTest\testGetPluralRuleType(), LanguageSgsTest\testGetPluralRuleType(), LanguageHrTest\testGetPluralRuleType(), LanguageShTest\testGetPluralRuleType(), LanguageSmaTest\testGetPluralRuleType(), LanguageCyTest\testGetPluralRuleType(), LanguageTiTest\testGetPluralRuleType(), LanguageTlTest\testGetPluralRuleType(), LanguageLnTest\testGetPluralRuleType(), LanguageGvTest\testGetPluralRuleType(), LanguageSkTest\testGetPluralRuleType(), LanguageWaTest\testGetPluralRuleType(), LanguageHsbTest\testGetPluralRuleType(), LanguageCuTest\testGetPluralRuleType(), LanguageHuTest\testGetPluralRuleType(), LanguageKshTest\testGetPluralRuleType(), LanguageDsbTest\testGetPluralRuleType(), LanguageSlTest\testGetPluralRuleType(), LanguageGaTest\testGetPluralRuleType(), LanguageBsTest\testGetPluralRuleType(), LanguageHyTest\testGetPluralRuleType(), LanguageRuTest\testGetPluralRuleType(), LanguageUkTest\testGetPluralRuleType(), LanguageHeTest\testGetPluralRuleType(), LanguageBe_taraskTest\testGetPluralRuleType(), LanguageArTest\testGetPluralRuleType(), LanguageSrTest\testGetPluralRuleType(), LanguageRuTest\testGrammar(), LanguageUkTest\testGrammar(), LanguageHeTest\testGrammar(), LanguageSrTest\testHasVariant(), LanguageSrTest\testHasVariantBogus(), LanguageSrTest\testHasVariants(), LanguageTest\testLanguageConvertDoubleWidthToSingleWidth(), LanguageTest\testListToText(), LanguageArTest\testNormalize(), LanguageMlTest\testNormalize(), LanguageLtTest\testOneFewPlural(), LanguageTiTest\testPlural(), LanguageLnTest\testPlural(), LanguageBeTest\testPlural(), LanguageCyTest\testPlural(), LanguageMgTest\testPlural(), LanguageTlTest\testPlural(), LanguageLtTest\testPlural(), LanguageMoTest\testPlural(), LanguageMkTest\testPlural(), LanguageMtTest\testPlural(), LanguageLvTest\testPlural(), LanguageUkTest\testPlural(), LanguageNsoTest\testPlural(), LanguageFrTest\testPlural(), LanguageSmaTest\testPlural(), LanguageRoTest\testPlural(), LanguageHiTest\testPlural(), LanguageAmTest\testPlural(), LanguageHrTest\testPlural(), LanguageShTest\testPlural(), LanguageCsTest\testPlural(), LanguageSeTest\testPlural(), LanguageRuTest\testPlural(), LanguagePlTest\testPlural(), LanguageGdTest\testPlural(), LanguageBhoTest\testPlural(), LanguageGvTest\testPlural(), LanguageSkTest\testPlural(), LanguageDsbTest\testPlural(), LanguageCuTest\testPlural(), LanguageHuTest\testPlural(), LanguageKshTest\testPlural(), LanguageWaTest\testPlural(), LanguageHsbTest\testPlural(), LanguageSlTest\testPlural(), LanguageGaTest\testPlural(), LanguageHyTest\testPlural(), LanguageBsTest\testPlural(), LanguageBe_taraskTest\testPlural(), LanguageArTest\testPlural(), LanguageSrTest\testPlural(), LanguageSgsTest\testPluralAllForms(), LanguageSmaTest\testPluralTwoForms(), LanguageSeTest\testPluralTwoForms(), LanguageSgsTest\testPluralTwoForms(), LanguagePlTest\testPluralTwoForms(), LanguageMtTest\testPluralTwoForms(), LanguageUkTest\testPluralTwoForms(), LanguageRuTest\testPluralTwoForms(), LanguageBe_taraskTest\testPluralTwoForms(), LanguageSrTest\testPluralTwoForms(), LanguageBe_taraskTest\testSearchRightSingleQuotationMarkAsApostroph(), LanguageArTest\testSprintfDate(), LanguageTest\testSprintfDate(), LanguageTest\testSprintfDateNotAllDigitTimestamp(), LanguageTest\testSprintfDateNoTtlIfNotNeeded(), LanguageTest\testSprintfDateNoZone(), LanguageTest\testSprintfDateTooLongTimestamp(), LanguageTest\testSprintfDateTooShortTimestamp(), LanguageTest\testSprintfDateTZ(), LanguageHeTest\testThreePluralForms(), LanguageTest\testTranslateBlockExpiry(), LanguageTest\testTruncateForDatabase(), LanguageTest\testTruncateForVisual(), LanguageTest\testTruncateHtml(), and LanguageHeTest\testTwoPluralForms().

◆ setUp()

LanguageClassesTestCase::setUp ( )

Create a new language object before each test.

Reimplemented from MediaWikiTestCase.

Definition at line 48 of file LanguageClassesTestCase.php.

References class, Language\factory(), and wfDebug().

◆ tearDown()

LanguageClassesTestCase::tearDown ( )

Delete the internal language object so each test start out with a fresh language instance.

Reimplemented from MediaWikiTestCase.

Definition at line 70 of file LanguageClassesTestCase.php.

Member Data Documentation

◆ $languageObject


Internal language object.

A new object is created before each tests thanks to PHPUnit setUp() method, it is deleted after each test too. To get this object you simply use the getLang method.

You must have setup a language code first. See $LanguageClassCode

function testWeAreTheChampions() {
$this->getLang(); # language object

Definition at line 36 of file LanguageClassesTestCase.php.

Referenced by getLang().

The documentation for this class was generated from the following file:
Definition: LanguageClassesTestCase.php:41
and that you know you can do these things To protect your we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights These restrictions translate to certain responsibilities for you if you distribute copies of the or if you modify it For if you distribute copies of such a whether gratis or for a you must give the recipients all the rights that you have You must make sure that receive or can get the source code And you must show them these terms so they know their rights We protect your rights with two distribute and or modify the software for each author s protection and we want to make certain that everyone understands that there is no warranty for this free software If the software is modified by someone else and passed we want its recipients to know that what they have is not the so that any problems introduced by others will not reflect on the original authors reputations any free program is threatened constantly by software patents We wish to avoid the danger that redistributors of a free program will individually obtain patent in effect making the program proprietary To prevent we have made it clear that any patent must be licensed for everyone s free use or not licensed at all The precise terms and conditions for distribution and modification follow GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR DISTRIBUTION AND MODIFICATION This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License The refers to any such program or and a work based on the Program means either the Program or any derivative work under copyright a work containing the Program or a portion of either verbatim or with modifications and or translated into another language(Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying