namespace MediaWiki\Storage;
-use \IDBAccessObject;
+use IDBAccessObject;
use MediaWiki\Linker\LinkTarget;
use Title;
use ContentHandler;
use DBAccessObjectUtils;
use Hooks;
-use \IDBAccessObject;
+use IDBAccessObject;
use InvalidArgumentException;
use IP;
use LogicException;
* @file
* @ingroup FileBackend
*/
-use \MediaWiki\Logger\LoggerFactory;
+
+use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MediaWikiServices;
/**
protected $mAction = false;
/**
- * Form attribute autocomplete. false does not set the attribute
+ * Form attribute autocomplete. A typical value is "off". null does not set the attribute
* @since 1.27
- * @var bool|string
+ * @var string|null
*/
- protected $mAutocomplete = false;
+ protected $mAutocomplete = null;
protected $mUseMultipart = false;
protected $mHiddenFields = [];
if ( $this->mId ) {
$attribs['id'] = $this->mId;
}
- if ( $this->mAutocomplete ) {
+ if ( is_string( $this->mAutocomplete ) ) {
$attribs['autocomplete'] = $this->mAutocomplete;
}
if ( $this->mName ) {
}
/**
- * Set the value for the autocomplete attribute of the form.
- * When set to false (which is the default state), the attribute get not set.
+ * Set the value for the autocomplete attribute of the form. A typical value is "off".
+ * When set to null (which is the default state), the attribute get not set.
*
* @since 1.27
*
- * @param string|bool $autocomplete
+ * @param string|null $autocomplete
*
* @return HTMLForm $this for chaining calls
*/
<?php
-namespace MediaWiki\Interwiki;
-
/**
* InterwikiLookup implementing the "classic" interwiki storage (hardcoded up to MW 1.26).
*
*
* @file
*/
-use \Cdb\Exception as CdbException;
-use \Cdb\Reader as CdbReader;
-use Wikimedia\Rdbms\Database;
+
+namespace MediaWiki\Interwiki;
+
+use Cdb\Exception as CdbException;
+use Cdb\Reader as CdbReader;
use Hooks;
use Interwiki;
use Language;
use MapCacheLRU;
use WANObjectCache;
+use Wikimedia\Rdbms\Database;
/**
* InterwikiLookup implementing the "classic" interwiki storage (hardcoded up to MW 1.26).
* @file
* @ingroup JobQueue
*/
-use \MediaWiki\MediaWikiServices;
+
+use MediaWiki\MediaWikiServices;
/**
* Job to prune link tables for pages that were deleted
* @ingroup Cache
*/
+use MediaWiki\MediaWikiServices;
use Wikimedia\Rdbms\Database;
use Wikimedia\Rdbms\IDatabase;
use Wikimedia\Rdbms\DBError;
use Wikimedia\Rdbms\DBQueryError;
use Wikimedia\Rdbms\DBConnectionError;
-use \MediaWiki\MediaWikiServices;
-use \Wikimedia\WaitConditionLoop;
-use \Wikimedia\Rdbms\TransactionProfiler;
use Wikimedia\Rdbms\LoadBalancer;
+use Wikimedia\Rdbms\TransactionProfiler;
+use Wikimedia\WaitConditionLoop;
/**
* Class to store objects in the database
* @param string $sizeLinkBigImagePreview HTML for the current size
* @return string HTML output
*/
- private function getThumbPrevText( $params, $sizeLinkBigImagePreview ) {
+ protected function getThumbPrevText( $params, $sizeLinkBigImagePreview ) {
if ( $sizeLinkBigImagePreview ) {
// Show a different message of preview is different format from original.
$previewTypeDiffers = false;
* @param int $height
* @return string
*/
- private function makeSizeLink( $params, $width, $height ) {
+ protected function makeSizeLink( $params, $width, $height ) {
$params['width'] = $width;
$params['height'] = $height;
$thumbnail = $this->displayImg->transform( $params );
*/
use MediaWiki\Edit\PreparedEdit;
-use \MediaWiki\Logger\LoggerFactory;
-use \MediaWiki\MediaWikiServices;
+use MediaWiki\Logger\LoggerFactory;
+use MediaWiki\MediaWikiServices;
use Wikimedia\Assert\Assert;
use Wikimedia\Rdbms\FakeResultWrapper;
use Wikimedia\Rdbms\IDatabase;
* @file
*/
-use \Cdb\Reader as CdbReader;
+use Cdb\Reader as CdbReader;
/**
* Functions to check passwords against a policy requirement
* @since 1.27
* @author C. Scott Ananian, 2016
*/
+
namespace MediaWiki\Tidy;
+use ExplodeIterator;
+use IteratorAggregate;
+use ReverseArrayIterator;
+use Sanitizer;
use Wikimedia\Assert\Assert;
use Wikimedia\Assert\ParameterAssertionException;
-use \ExplodeIterator;
-use \IteratorAggregate;
-use \ReverseArrayIterator;
-use \Sanitizer;
// A note for future librarization[1] -- this file is a good candidate
// for splitting into an independent library, except that it is currently
* @file
* @ingroup Maintenance
*/
+
+use MediaWiki\MediaWikiServices;
use Wikimedia\Rdbms\IDatabase;
-use \MediaWiki\MediaWikiServices;
class BatchRowWriter {
/**
namespace MediaWiki\Languages\Data;
-use \CrhConverter as Crh;
+use CrhConverter as Crh;
class CrhExceptions {
"tag-mw-new-redirect-description": "Рэдагаваньні, якія ствараюць новае перанакіраваньне ці зьмяняюць старонку на перанакіраваньне",
"tag-mw-removed-redirect": "Выдаленае перанакіраваньне",
"tag-mw-removed-redirect-description": "Праўкі, якія зьмяняюць існае перанакіраваньне на не перанакіраваньне",
+ "tag-mw-changed-redirect-target": "Зьмененая мэта перанакіраваньня",
+ "tag-mw-changed-redirect-target-description": "Праўкі, якія зьмяняюць мэту перанакіраваньня",
"tags-title": "Меткі",
"tags-intro": "На гэтай старонцы знаходзіцца сьпіс метак, якімі праграмнае забесьпячэньне можа пазначыць рэдагаваньне, і іх значэньне.",
"tags-tag": "Назва меткі",
"tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Kääntiaken|Kääntiakens}}]]: $2)",
"tag-mw-new-redirect": "Nei widjerfeerang",
"tag-mw-new-redirect-description": "Feranrangen, diar en nei widjerfeerang iinracht.",
+ "tag-mw-removed-redirect": "Widjerfeerang wechnimen",
+ "tag-mw-changed-redirect-target": "Widjerfeerang feranert",
"tags-title": "Kääntiaken",
"tags-intro": "Det sidj wiset kääntiaken, diar för't bewerkin brükt wurd, an wat jo men.",
"tags-tag": "Kääntiaken-nööm",
"category-empty": "<em>U ovoj kategoriji trenutačno nema članaka ni medija.</em>",
"hidden-categories": "{{PLURAL:$1|Skrivena kategorija|Skrivene kategorije|Skrivenih kategorija}}",
"hidden-category-category": "Skrivene kategorije",
- "category-subcat-count": "Ova kategorija sadrži $2 {{PLURAL:$2|podkategoriju|podkategorije|podkategorija}}, ovaj popis prikazuje $1.",
+ "category-subcat-count": "{{PLURAL:$2|1=Ova kategorija sadržava samo sljedeću potkategoriju.|Ova kategorija ima {{PLURAL:$1|sljedeću $1 potkategoriju|sljedeće $1 potkategorije|sljedećih $1 potkategorija}}, od ukupno $2.}}",
"category-subcat-count-limited": "Ova kategorija ima {{PLURAL:$1|podkategoriju|$1 podkategorije|$1 podkategorija}}.",
"category-article-count": "{{PLURAL:$2|Ova kategorija sadrži samo sljedeću stranicu.|{{PLURAL:$1|Prikazana stranica jedina je|Prikazane su $1 stranice su|Prikazano je $1 stranica}} u ovoj kategoriji, od ukupno $2.}}",
"category-article-count-limited": "{{PLURAL:$1|stranica je|$1 stranice su|$1 stranica je}} u ovoj kategoriji.",
"permissionserrors": "Pogrješka u pravima",
"permissionserrorstext": "Nemate ovlasti za tu radnju iz sljedećih {{PLURAL:$1|razlog|razloga}}:",
"permissionserrorstext-withaction": "Nemate dopuštenje za $2, iz {{PLURAL:$1|navedenog|navedenih}} razloga:",
- "recreate-moveddeleted-warn": "<strong>Upozorenje: Ponovo stvarate stranicu koja je prethodno bila izbrisana.</strong>\n\nRazmotrite je li prikladno nastaviti s uređivanje ove stranice.\nZa Vašu informaciju slijedi evidencija brisanja i premještanja ove stranice:",
+ "recreate-moveddeleted-warn": "<strong>Upozorenje: ponovo stvarate stranicu koja je prethodno bila izbrisana.</strong>\n\nRazmotrite je li prikladno nastaviti s uređivanjem ove stranice.\nZa Vašu informaciju slijedi evidencija brisanja i premještanja ove stranice:",
"moveddeleted-notice": "Ova je stranica izbrisana.\nEvidencije brisanja, zaštićivanja i premještanja za ovu stranicu prikazane su niže za uputu.",
"moveddeleted-notice-recent": "Žao nam je, ova stranica je izbrisana u prošla 24 sata. \nNiže je navedena evidencija brisanja i premještanja.",
"log-fulllog": "Prikaži cijelu evidenciju",
"rcfilters-liveupdates-button-title-off": "A legfrissebb változtatások mutatása, amint megtörténnek",
"rcfilters-watchlist-markseen-button": "Összes változtatás megjelölése olvasottként",
"rcfilters-watchlist-edit-watchlist-button": "A figyelőlistád szerkesztése",
- "rcfilters-watchlist-showupdated": "Az újabb változtatások amiket még nem néztél meg, <strong>vastaggal jelöltük</strong>",
+ "rcfilters-watchlist-showupdated": "Az újabb változtatások, amiket még nem néztél meg, <strong>vastagítva</strong> láthatók, kitöltött jelzőkkel.",
"rcfilters-preference-label": "A friss változtatások fejlesztett változatának elrejtése",
"rcfilters-preference-help": "A 2017-es felületátdolgozás és minden azóta hozzáadott eszköz visszaállítása.",
"rcfilters-filter-showlinkedfrom-label": "A következő lapra hivatkozó lapok változtatásainak megjelenítése",
+ "rcfilters-filter-showlinkedfrom-option-label": "A kiválasztott <strong>lapról</strong> hivatkozott lapok",
"rcfilters-filter-showlinkedto-label": "A következő lapról hivatkozott lapok változtatásainak megjelenítése",
+ "rcfilters-filter-showlinkedto-option-label": "A kiválasztott <strong>lapra</strong> hivatkozó lapok",
"rcfilters-target-page-placeholder": "Adj meg egy oldal nevét",
"rcnotefrom": "Alább a <strong>$3 $4</strong> óta történt változtatások láthatóak (legfeljebb <b>$1</b> db).",
"rclistfromreset": "Dátumválasztás visszaállítása",
"uploadstash-bad-path-unrecognized-thumb-name": "Ismeretlen bélyegképnév.",
"uploadstash-bad-path-no-handler": "Nem található kezelő a(z) $1 MIME-típusú $2 fájlhoz.",
"uploadstash-bad-path-bad-format": "A(z) „$1” kulcs nem megfelelő formátumú.",
+ "uploadstash-file-not-found": "A(z) „$1” kulcs nem található a tárolóban.",
"uploadstash-file-not-found-no-thumb": "A bélyegkép lekérése sikertelen.",
"uploadstash-file-not-found-no-local-path": "Nincs helyi útvonal az átméretezett elemhez.",
"uploadstash-file-not-found-no-object": "A bélyegkép helyi fájlobjektumának létrehozása sikertelen.",
"listfiles_thumb": "Bélyegkép",
"listfiles_date": "Dátum",
"listfiles_name": "Név",
- "listfiles_user": "feltöltő",
+ "listfiles_user": "Feltöltő",
"listfiles_size": "Méret",
"listfiles_description": "Leírás",
"listfiles_count": "Változatok",
"tooltip-ca-nstab-media": "A fájlleíró lap megtekintése",
"tooltip-ca-nstab-special": "Ez egy speciális lap, nem szerkesztheted.",
"tooltip-ca-nstab-project": "A projektlap megtekintése",
- "tooltip-ca-nstab-image": "A képleíró lap megtekintése",
+ "tooltip-ca-nstab-image": "A fájlleíró lap megtekintése",
"tooltip-ca-nstab-mediawiki": "A rendszerüzenet megtekintése",
"tooltip-ca-nstab-template": "A sablon megtekintése",
"tooltip-ca-nstab-help": "A súgólap megtekintése",
"file-no-thumb-animation": "'''Megjegyzés: technikai korlátok miatt a fájl bélyegképe nem lesz animált.'''",
"file-no-thumb-animation-gif": "'''Megjegyzés: technikai korlátok miatt a nagy felbontású GIF képekből készített bélyegkép nem lesz animált.'''",
"newimages": "Új fájlok galériája",
- "imagelisttext": "Lentebb '''{{PLURAL:$1|egy|$1}}''' kép látható, $2 rendezve.",
+ "imagelisttext": "Lentebb <strong>$1</strong> fájl látható $2 rendezve.",
"newimages-summary": "Ezen a speciális lapon láthatóak a legutóbb feltöltött fájlok.",
"newimages-legend": "Fájlnév",
"newimages-label": "Fájlnév (vagy annak részlete):",
"tag-mw-blank-description": "Ännerungen déi eng Säit eidelmaachen",
"tag-mw-replace": "Ersat",
"tag-mw-rollback": "Zrécksetzen",
+ "tag-mw-undo": "Réckgängeg maachen",
"tags-title": "Markéierungen",
"tags-intro": "Op dëser Säit stinn all déi Taggen, déi vun dëser Software fir Ännerungen unzeweise benotzt ginn, an hir Bedeitung.",
"tags-tag": "Numm vun der Markéierung",
"tog-usenewrc": "Grupuoti pakeitimas pagal puslapį paskutinių keitimų ir stebėjimo sąrašuose",
"tog-numberheadings": "Automatiškai numeruoti skyrelius",
"tog-showtoolbar": "Rodyti redagavimo įrankių juosta",
- "tog-editondblclick": "Puslapių redagavimas dvigubu spustelėjimu (JavaScript)",
+ "tog-editondblclick": "Puslapių redagavimas dvigubu spustelėjimu",
"tog-editsectiononrightclick": "Įjungti skyrelių redagavimą paspaudus skyrelio pavadinimą dešiniuoju pelės klavišu (JavaScript)",
"tog-watchcreations": "Pridėti mano sukuriamus puslapius į stebimųjų sąrašą",
"tog-watchdefault": "Pridėti puslapius, kuriuos aš redaguoju, į stebimųjų sąrašą",
"category_header": "Puslapiai kategorijoje „$1“",
"subcategories": "Subkategorijos",
"category-media-header": "Daugialypės terpės rinkmenos kategorijoje „$1“",
- "category-empty": "''Šiuo metu ši kategorija neturi jokių puslapių ar failų.''",
- "hidden-categories": "{{PLURAL:$1|Paslėpta kategorija|Paslėptos kategorijos}}",
+ "category-empty": "<em>Šiuo metu ši kategorija neturi jokių puslapių ar failų.</em>",
+ "hidden-categories": "{{PLURAL:$1|Paslėpta kategorija|Paslėptos kategorijos|Paslėptų kategorijų}}",
"hidden-category-category": "Paslėptos kategorijos",
"category-subcat-count": "{{PLURAL:$2|Šioje kategorijoje yra viena subkategorija.|{{PLURAL:$1|Rodoma|Rodomos|Rodoma}} $1 {{PLURAL:$1|subkategorija|subkategorijos|subkategorijų}} (iš viso yra $2 {{PLURAL:$2|subkategorija|subkategorijos|subkategorijų}}).}}",
"category-subcat-count-limited": "Šioje kategorijoje yra $1 {{PLURAL:$1|subkategorija|subkategorijos|subkategorijų}}.",
"uploadstash-clear": "Išvalyti stashed failai",
"uploadstash-nofiles": "Jūs neturite stashed failus.",
"uploadstash-badtoken": "Scenos šį ieškinį, buvo nesėkmingas, galbūt todėl, kad jūsų redagavimo įgaliojimai pasibaigė. Bandykite dar kartą.",
- "uploadstash-errclear": "Kliringo failai buvo nesėkmingas.",
+ "uploadstash-errclear": "Išvalyti failų nepavyko.",
"uploadstash-refresh": "Atnaujinti failų sąrašą",
"uploadstash-thumbnail": "rodyti miniatiūrą",
"invalid-chunk-offset": "Neleistinas segmento poslinkis",
"htmlform-submit": "呈",
"htmlform-reset": "復",
"htmlform-selectorother-other": "他",
+ "logentry-delete-delete": "$1 {{GENDER:$2|已削}} 頁 $3",
"revdelete-restricted": "應限至有秩",
"revdelete-unrestricted": "除限自有秩",
"logentry-newusers-create": "簿$1已{{GENDER:$2|增}}。",
"sp-contributions-hideminor": "Skjul mindre endringer",
"sp-contributions-submit": "Søk",
"sp-contributions-outofrange": "Kan ikke vise resultater. Det gitte IP-intervallet er større enn CIDR-grensen på /$1.",
- "whatlinkshere": "Det som lenker hit",
+ "whatlinkshere": "Hva lenker hit",
"whatlinkshere-title": "Sider som lenker til «$1»",
"whatlinkshere-page": "Side:",
"linkshere": "Følgende sider lenker til '''[[:$1]]''':",
* @todo document
* @ingroup Maintenance
*/
-use \Cdb\Exception as CdbException;
-use \Cdb\Reader as CdbReader;
+
+use Cdb\Exception as CdbException;
+use Cdb\Reader as CdbReader;
require_once __DIR__ . '/commandLine.inc';
<?php
+/**
+ * @covers Autopromote
+ */
class AutopromoteTest extends MediaWikiTestCase {
/**
* T157718: Verify Autopromote does not perform edit count lookup if requirement is 0 or invalid
/**
* per T28425
+ * @covers Block::__construct
*/
public function testBug26425BlockTimestampDefaultsToTime() {
$user = $this->getUserForBlocking();
$this->assertEquals( $exResult, $block->mReason, 'Correct block type for XFF header ' . $xff );
}
+ /**
+ * @covers Block::__construct
+ */
public function testDeprecatedConstructor() {
$this->hideDeprecated( 'Block::__construct with multiple arguments' );
$username = 'UnthinkablySecretRandomUsername';
);
}
+ /**
+ * @covers Block::getSystemBlockType
+ * @covers Block::insert
+ * @covers Block::doAutoblock
+ */
public function testSystemBlocks() {
$user = $this->getUserForBlocking();
$this->addBlockForUser( $user );
* @param array $paramSettings
* @param mixed $expected
* @param string[] $warnings
+ * @covers ApiBase::getParameterFromSettings
*/
public function testGetParameterFromSettings( $input, $paramSettings, $expected, $warnings ) {
$mock = new MockApi();
];
}
+ /**
+ * @covers ApiBase::errorArrayToStatus
+ */
public function testErrorArrayToStatus() {
$mock = new MockApi();
<?php
+/**
+ * @covers ApiOpenSearch
+ */
class ApiOpenSearchTest extends MediaWikiTestCase {
public function testGetAllowedParams() {
$config = $this->replaceSearchEngineConfig();
* @group API
* @group medium
* @group Database
+ * @covers ApiPageSet
*/
class ApiPageSetTest extends ApiTestCase {
public static function provideRedirectMergePolicy() {
* @group API
* @group Database
* @group medium
+ *
+ * @covers ApiQueryAllPages
*/
class ApiQueryAllPagesTest extends ApiTestCase {
);
}
+ /**
+ * @coversNothing
+ */
public function testApiTestGroup() {
$groups = PHPUnit_Util_Test::getGroups( static::class );
$constraint = PHPUnit_Framework_Assert::logicalOr(
* @group Database
* @group medium
* @group Broken
+ *
+ * @covers ApiUpload
*/
class ApiUploadTest extends ApiTestCaseUpload {
/**
<?php
+/**
+ * @covers ApiUsageException
+ */
class ApiUsageExceptionTest extends MediaWikiTestCase {
public function testCreateWithStatusValue_CanGetAMessageObject() {
* @group Database
* @group medium
* @todo This test suite is severly broken and need a full review
+ *
+ * @covers ApiWatch
*/
class ApiWatchTest extends ApiTestCase {
protected function setUp() {
);
}
+ /**
+ * @coversNothing
+ */
public function testEntireSchema() {
global $IP;
/**
* Runs upgrades of older databases and compares results with current schema
* @todo Currently only checks list of tables
+ * @coversNothing
*/
public function testUpgrades() {
global $IP, $wgVersion, $wgProfiler;
$this->assertTrue( $db->close(), "closing database" );
}
+ /**
+ * @covers \Wikimedia\Rdbms\DatabaseSqlite::__toString
+ */
public function testToString() {
$db = DatabaseSqlite::newStandaloneInstance( ':memory:' );
<?php
-
-use Wikimedia\Rdbms\LBFactorySimple;
-use Wikimedia\Rdbms\LBFactoryMulti;
-use Wikimedia\Rdbms\ChronologyProtector;
-use Wikimedia\Rdbms\MySQLMasterPos;
-
/**
* Holds tests for LBFactory abstract MediaWiki class.
*
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*
- * @group Database
* @file
* @author Antoine Musso
* @copyright © 2013 Antoine Musso
* @copyright © 2013 Wikimedia Foundation Inc.
*/
+
+use Wikimedia\Rdbms\LBFactorySimple;
+use Wikimedia\Rdbms\LBFactoryMulti;
+use Wikimedia\Rdbms\ChronologyProtector;
+use Wikimedia\Rdbms\MySQLMasterPos;
+
+/**
+ * @group Database
+ * @covers \Wikimedia\Rdbms\LBFactorySimple
+ * @covers \Wikimedia\Rdbms\LBFactoryMulti
+ */
class LBFactoryTest extends MediaWikiTestCase {
/**
+ * @covers MWLBFactory::getLBFactoryClass
* @dataProvider getLBFactoryClassProvider
*/
public function testGetLBFactoryClass( $expected, $deprecated ) {
$lb->closeAll();
}
+ /**
+ * @covers \Wikimedia\Rdbms\ChronologyProtector
+ */
public function testChronologyProtector() {
// (a) First HTTP request
$mPos = new MySQLMasterPos( 'db1034-bin.000976', '843431247' );
*
* @group Database
* @file
+ *
+ * @covers \Wikimedia\Rdbms\LoadBalancer
*/
class LoadBalancerTest extends MediaWikiTestCase {
public function testWithoutReplica() {
/**
* @expectedException MWException
+ * @covers MWException
*/
public function testMwexceptionThrowing() {
throw new MWException();
/**
* @covers HTMLForm
+ *
+ * @licence GNU GPL v2+
+ * @author Gergő Tisza
+ * @author Thiemo Mättig
*/
class HTMLFormTest extends MediaWikiTestCase {
- public function testGetHTML_empty() {
+
+ private function newInstance() {
$form = new HTMLForm( [] );
$form->setTitle( Title::newFromText( 'Foo' ) );
+ return $form;
+ }
+
+ public function testGetHTML_empty() {
+ $form = $this->newInstance();
$form->prepareForm();
$html = $form->getHTML( false );
- $this->assertRegExp( '/<form\b/', $html );
+ $this->assertStringStartsWith( '<form ', $html );
}
/**
* @expectedException LogicException
*/
public function testGetHTML_noPrepare() {
- $form = new HTMLForm( [] );
- $form->setTitle( Title::newFromText( 'Foo' ) );
+ $form = $this->newInstance();
$form->getHTML( false );
}
+
+ public function testAutocompleteDefaultsToNull() {
+ $form = $this->newInstance();
+ $this->assertNotContains( 'autocomplete', $form->wrapForm( '' ) );
+ }
+
+ public function testAutocompleteWhenSetToNull() {
+ $form = $this->newInstance();
+ $form->setAutocomplete( null );
+ $this->assertNotContains( 'autocomplete', $form->wrapForm( '' ) );
+ }
+
+ public function testAutocompleteWhenSetToFalse() {
+ $form = $this->newInstance();
+ // Previously false was used instead of null to indicate the attribute should not be set
+ $form->setAutocomplete( false );
+ $this->assertNotContains( 'autocomplete', $form->wrapForm( '' ) );
+ }
+
+ public function testAutocompleteWhenSetToOff() {
+ $form = $this->newInstance();
+ $form->setAutocomplete( 'off' );
+ $this->assertContains( ' autocomplete="off"', $form->wrapForm( '' ) );
+ }
+
}
* where it did not define a cURL constant. T72570
*
* @dataProvider provideCurlConstants
+ * @coversNothing
*/
public function testCurlConstants( $value ) {
$this->checkPHPExtension( 'curl' );
*/
class HtmlArmorTest extends PHPUnit_Framework_TestCase {
- public static function provideHtmlArmor() {
+ public static function provideConstructor() {
+ return [
+ [ 'test' ],
+ [ null ],
+ [ '<em>some html!</em>' ]
+ ];
+ }
+
+ /**
+ * @dataProvider provideConstructor
+ */
+ public function testConstructor( $value ) {
+ $this->assertInstanceOf( HtmlArmor::class, new HtmlArmor( $value ) );
+ }
+
+ public static function provideGetHtml() {
return [
[
'foobar',
new HtmlArmor( '<script>alert("evil!");</script>' ),
'<script>alert("evil!");</script>',
],
+ [
+ new HtmlArmor( null ),
+ null,
+ ]
];
}
/**
- * @dataProvider provideHtmlArmor
+ * @dataProvider provideGetHtml
*/
- public function testHtmlArmor( $input, $expected ) {
+ public function testGetHtml( $input, $expected ) {
$this->assertEquals(
$expected,
HtmlArmor::getHtml( $input )
* @group Media
* @group medium
*
- * @todo covers tags
+ * @covers BitmapHandler
*/
class ExifRotationTest extends MediaWikiMediaTestCase {
+ /** @var BitmapHandler */
+ private $handler;
+
protected function setUp() {
parent::setUp();
$this->checkPHPExtension( 'exif' );
* @author Antoine Musso
* @copyright Copyright © 2011, Antoine Musso
* @file
- * @todo covers tags
*
* @group Database
*/
+/**
+ * @covers Parser::getVariableValue
+ */
class MagicVariableTest extends MediaWikiTestCase {
/**
* @var Parser
$this->assertSame( [ 'ext.baz.fizzbuzz' ], $info['attributes']['FizzBuzzMorePlugins'] );
}
+ /**
+ * Verify that extension.schema.json is in sync with ExtensionProcessor
+ *
+ * @coversNothing
+ */
public function testGlobalSettingsDocumentedInSchema() {
global $IP;
$globalSettings = TestingAccessWrapper::newFromClass(
* Test, if for all rights a right- message exist,
* which is used on Special:ListGroupRights as help text
* Extensions and core
+ *
+ * @coversNothing
*/
public function testAllRightsWithMessage() {
// Getting all user rights, for core: User::$mCoreRights, for extensions: $wgAvailableRights
/**
* Test exhausting pcre.backtrack_limit
+ *
+ * @covers LanguageConverter::autoConvert
*/
public function testAutoConvertT124404() {
$testString = '';
}
/**
- * @dataProvider testFormatNumProvider
+ * @dataProvider provideFormatNum
* @covers Language::formatNum
*/
public function testFormatNum(
$this->assertEquals( $expected, $formattedNum );
}
- public function testFormatNumProvider() {
+ public function provideFormatNum() {
return [
[ true, 'en', 100, false, '100' ],
[ true, 'en', 101, true, '101' ],
}
/**
+ * @covers Language::parseFormattedNumber
* @dataProvider parseFormattedNumberProvider
*/
public function testParseFormattedNumber( $langCode, $number ) {
];
}
+ /**
+ * @covers Language::equals
+ */
public function testEquals() {
$en1 = new Language();
$en1->setCode( 'en' );
* @file
*/
-/** Tests for MediaWiki languages/LanguageAr.php */
+/**
+ * @covers LanguageAr
+ */
class LanguageArTest extends LanguageClassesTestCase {
/**
* @covers Language::formatNum
<?php
// @codingStandardsIgnoreStart Ignore Squiz.Classes.ValidClassName.NotCamelCaps
+/**
+ * @covers LanguageBe_tarask
+ */
class LanguageBe_taraskTest extends LanguageClassesTestCase {
// @codingStandardsIgnoreEnd
/**
* @file
*/
-/** Tests for Croatian (hrvatski) */
+/**
+ * Tests for Croatian (hrvatski)
+ *
+ * @covers LanguageBs
+ */
class LanguageBsTest extends LanguageClassesTestCase {
/**
* @dataProvider providePlural
<?php
+/**
+ * @covers LanguageCrh
+ * @covers CrhConverter
+ */
class LanguageCrhTest extends LanguageClassesTestCase {
/**
* @dataProvider provideAutoConvertToAllVariants
* @file
*/
-/** Tests for MediaWiki languages/LanguageCu.php */
+/**
+ * @covers LanguageCu
+ */
class LanguageCuTest extends LanguageClassesTestCase {
/**
* @dataProvider providePlural
* @file
*/
-/** Tests for MediaWiki languages/classes/LanguageDsb.php */
+/**
+ * @covers LanguageDsb
+ */
class LanguageDsbTest extends LanguageClassesTestCase {
/**
* @dataProvider providePlural
<?php
+/**
+ * @covers LanguageGan
+ * @covers GanConverter
+ */
class LanguageGanTest extends LanguageClassesTestCase {
/**
* @dataProvider provideAutoConvertToAllVariants
* @file
*/
-/** Tests for MediaWiki languages/classes/LanguageHsb.php */
+/**
+ * @covers LanguageHsb
+ */
class LanguageHsbTest extends LanguageClassesTestCase {
/**
* @dataProvider providePlural
* @file
*/
-/** Tests for MediaWiki languages/LanguageHu.php */
+/**
+ * @covers LanguageHu
+ */
class LanguageHuTest extends LanguageClassesTestCase {
/**
* @dataProvider providePlural
* @file
*/
-/** Tests for Armenian (Հայերեն) */
+/**
+ * Tests for Armenian (Հայերեն)
+ *
+ * @covers LanguageHy
+ */
class LanguageHyTest extends LanguageClassesTestCase {
/**
* @dataProvider providePlural
<?php
+/**
+ * @covers LanguageIu
+ * @covers IuConverter
+ */
class LanguageIuTest extends LanguageClassesTestCase {
/**
* @dataProvider provideAutoConvertToAllVariants
<?php
+/**
+ * @covers LanguageKk
+ * @covers LanguageKk_cyrl
+ * @covers KkConverter
+ */
class LanguageKkTest extends LanguageClassesTestCase {
/**
* @dataProvider provideAutoConvertToAllVariants
* @file
*/
-/** Tests for MediaWiki languages/classes/LanguageKsh.php */
+/**
+ * @covers LanguageKsh
+ */
class LanguageKshTest extends LanguageClassesTestCase {
/**
* @dataProvider providePlural
<?php
+/**
+ * @covers LanguageKu
+ * @covers KuConverter
+ */
class LanguageKuTest extends LanguageClassesTestCase {
/**
* @dataProvider provideAutoConvertToAllVariants
* @file
*/
-/** Tests for MediaWiki languages/LanguageMl.php */
+/**
+ * @covers LanguageMl
+ */
class LanguageMlTest extends LanguageClassesTestCase {
/**
* @file
*/
-/** Tests for MediaWiki languages/classes/LanguageRu.php */
+/**
+ * @covers LanguageRu
+ */
class LanguageRuTest extends LanguageClassesTestCase {
/**
* @dataProvider providePlural
<?php
+/**
+ * @covers LanguageShi
+ * @covers ShiConverter
+ */
class LanguageShiTest extends LanguageClassesTestCase {
/**
* @dataProvider provideAutoConvertToAllVariants
* @file
*/
-/** Tests for MediaWiki languages/classes/LanguageSl.php */
+/**
+ * @covers LanguageSl
+ */
class LanguageSlTest extends LanguageClassesTestCase {
/**
* @dataProvider providerPlural
* - Tests for LanguageConverter and Language should probably be separate..
*/
-/** Tests for MediaWiki languages/LanguageSr.php */
+/**
+ * @covers LanguageSr
+ * @covers SrConverter
+ */
class LanguageSrTest extends LanguageClassesTestCase {
/**
* @covers LanguageConverter::convertTo
<?php
+/**
+ * @covers LanguageTg
+ * @covers TgConverter
+ */
class LanguageTgTest extends LanguageClassesTestCase {
/**
* @dataProvider provideAutoConvertToAllVariants
* @file
*/
-/** Tests for MediaWiki languages/LanguageTr.php */
+/**
+ * @covers LanguageTr
+ */
class LanguageTrTest extends LanguageClassesTestCase {
/**
* @file
*/
-/** Tests for Ukrainian */
+/**
+ * @covers LanguageUk
+ */
class LanguageUkTest extends LanguageClassesTestCase {
/**
* @dataProvider providePlural
* - Tests for LanguageConverter and Language should probably be separate..
*/
-/** Tests for MediaWiki languages/LanguageUz.php */
+/**
+ * @covers LanguageUz
+ * @covers UzConverter
+ */
class LanguageUzTest extends LanguageClassesTestCase {
/**
* @file
*/
-/** Tests for MediaWiki languages/classes/LanguageWa.php */
+/**
+ * @covers LanguageWa
+ */
class LanguageWaTest extends LanguageClassesTestCase {
/**
* @dataProvider providePlural
<?php
+/**
+ * @covers LanguageZh
+ * @covers LanguageZh_hans
+ * @covers ZhConverter
+ */
class LanguageZhTest extends LanguageClassesTestCase {
/**
* @dataProvider provideAutoConvertToAllVariants
/**
* Test $wgNoFollowLinks in sidebar
+ * @covers Skin::addToSidebarPlain
*/
public function testRespectWgnofollowlinks() {
$this->setMwGlobals( 'wgNoFollowLinks', false );
/**
* Test $wgExternaLinkTarget in sidebar
* @dataProvider dataRespectExternallinktarget
+ * @covers Skin::addToSidebarPlain
*/
public function testRespectExternallinktarget( $externalLinkTarget ) {
$this->setMwGlobals( 'wgExternalLinkTarget', $externalLinkTarget );