Call RequestContext::resetMain() so that any subsequent call
to getMain() and getLanguage() is aware of the latest state
as set up by the setUp() and setupGlobals() methods.
The MediaWikiTestCase class for PHPUnit did this already, but
the parserTest suite and UploadFromUrlTestSuite didn't yet.
Change-Id: I6481176228944004091078704d0346c8f3fc0cf1
Follows-up 8f5cd11d82.
The old getLocalFileReferences() method is no longer used anywhere.
Remove it and rename getAllLocalFileReferences back to it.
Change-Id: I864258aad128ba9b54464c7bc854543f2937f977
Due to T127238, files in various */skins/* directories are not checked
by PHPCS. Temporarily removed the exclude rule from phpcs.xml and ran:
composer fix includes/skins/* tests/phpunit/includes/skins/* tests/phpunit/skins/*
Change-Id: I9240c1cee825920b6634903282be6252cce55686
RawMessage::__construct() takes a single array of params, it's not
varargs-style like wfMessage().
Change-Id: I63950ee16e359aa2627228350e27d9e94bb6e8ce
and check for this in WikiPage::doEditUpdates before
inserting a new CategoryMembershipChangeJob.
Some content models like the Wikibase ones do not
have categories and it's wasteful to add these jobs
for all Wikibase edits.
Bug: T126977
Change-Id: I2c54a4ba1546445dc41101e15cb83a2c6cc2b1c9
Available as of PHP 5.5 and more idomatic. Foo::class (explicit),
self::class (defined), and static::class (late bound).
Change-Id: I66937f32095a4e4ecde94ca20a935a3c3efc9cee
There's no point in keeping broken cookies around, it just means all
future requests will continue to flood the logs.
Change-Id: Ib10c9ed9049b71ed434950fc731ea77960ceca0c
Clearing the cookies in this case is probably a good idea.
This also clears cookies when a non-persisted session's metadata is
dirty, for parallelism with what happens to persisted sessions.
Bug: T127436
Change-Id: I76897eaac063e5e3c3563398d0f4cb36cf93783b
PHP_CodeCoverage_Exception:
> Trying to @cover not existing method "SwiftFileBackend::sanitzeHdrs".
> Trying to @cover not existing method "LineFormatter::normalizeException".
> Trying to @cover not existing method "MonologSpi::mergeConfig".
> Trying to @cover not existing method "ProcessCacheLRU::het".
> Trying to @cover not existing method "BitmapHandler::swapICCProfile".
> Trying to @cover not existing class or interface "checkParseSafety".
> Trying to @cover not existing method "Article::__call". (was removed).
> Trying to @cover not existing method "ExtensionProcessor::extracttExtensionMessagesFiles".
> Trying to @cover not existing method "FileContentsHasher::getFileContentHash".
Makes code coverage run fail at the moment. These used to be warnings
in PHPUnit 3.x, but are now hard exceptions in PHPUnit 4.x when requesting
a coverage report.
Change-Id: If7f45ca57fd7d480d35b1414a889398837c0c472
> Trying to @cover or @use not existing method "LegacyLogger::interpolate"
Makes code coverage run fail at the moment.
Change-Id: I8417b5c2f1fc116583758c7507770c796127bb67
Right now it forgets to reset $wgResourceBasePath, which means it
is inherited from the wikis's (or Jenkins') default settings which
is typically '/w'. That caused parser tests to behave as if pointers
to /extensions were outside /w.
Also update wgScriptPath to be '' instead of '/'. Otherwise this
can cause double-slash prefixed urls.
Change-Id: Ic455d62fca8fcac2c4ecc055cc0d7e311b70a94a
This function was added in PHP 5.4.0 and can be used now that MediaWiki
only works with PHP 5.5.9 or higher.
Also fixed a bug in ApiQueryCategoryMembers::validateHexSortkey() that
allowed a single line feed at the end of the string to pass.
Change-Id: I5b577e7dcc5fb6a06ab550429aae657dbcc79083
> 1) TimingTest::testMark
> Failed asserting that 1455828402.4503 is greater than 1455828402.4503.
Use usleep(100), similar to the other tests already there.
Change-Id: Ic45c99b7e928df397809d872ab8e41ada6ecf1e7
Noticed it in APC usage for ResourceLoader that various keys from
FileContentsHasher contain double slashes. All from extensions that
use the `"localBasePath": ""` trick in extension.json (e.g. Citoid).
Change-Id: I5bac1e2e05e063aa7ff251ce7ffaa965a3451db9
Reserved words, like 'namespace', are perfectly fine now to use as object
keys, but it seems they used to not be in PHP 5.3, necessitating workarounds.
Change-Id: Iecb79fda19803461dfb3800b8af4d31e971551b8
This removes static logic from WatchedItem into a
class that we can slowly fill with watchlist database
and storage things.
This also removes the dual namespace handling in
the new implementation.
Change-Id: Ia67ab1d200ac393c65013b2091e61acefcb3defb
* Fix errors spotted by new release
* Introduce "composer fix", which uses phpcbf to automatically fix some
errors spotted by phpcs.
* Drop $PHPCS_ARGS variable that didn't work on Windows, and add -s flag
* Remove rules from phpcs.xml that are now in MW-CS ruleset.
Change-Id: I13e2155695918c918b67497ac65b85a03897095e
Now that we dropped support for PHP 5.3.3, we can do this.
The behavior of $session['foo'] when that key doesn't already exist is a
little unexpected (it implicitly assigns null), but it's the best we can
do.
Change-Id: Ibef878867d46591a8bf542139a1719dfec3b83ab
AutoLoaderTest didn't know about traits.
generateLocalAutoload found a missing Trait from the autoloader and
a class map ordering issue.
Change-Id: I34bf2698ad838b6a977c9bf39f6e416330ff0e5d
Add the data values and types to the exception raised when mismatched
session data is processed. This is done by passing the old and new
values on via a new MetadataMergeException class. The attached data is
added to the debug logging context info when caught.
Change-Id: If8a7174399289bc284ca1b36052ba515c8857c50
As an attempt to detect SessionManager errors that log people into
the wrong account, log multiple IPs using the same session, or the same
user account.
Bug: T125455
Change-Id: I27468a3f6d582d9b46984227b9307dc71190fd6a