Merge "tests: Use TestingAccessWrapper to reload LanguageConverter tables"

This commit is contained in:
jenkins-bot 2017-06-27 22:08:42 +00:00 committed by Gerrit Code Review
commit d00939f76d
3 changed files with 14 additions and 5 deletions

View file

@ -126,6 +126,11 @@ class FakeConverter {
public function updateConversionTable( Title $title ) {
}
public function reloadTables() {
/**
* Used by test suites which need to reset the converter state.
*
* @private
*/
private function reloadTables() {
}
}

View file

@ -891,11 +891,11 @@ class LanguageConverter {
/**
* Reload the conversion tables.
*
* Public only for use by test suites which need to reset the converter
* state.
* Also used by test suites which need to reset the converter state.
*
* @private
*/
function reloadTables() {
private function reloadTables() {
if ( $this->mTables ) {
unset( $this->mTables );
}

View file

@ -28,6 +28,7 @@
use Wikimedia\Rdbms\IDatabase;
use MediaWiki\MediaWikiServices;
use Wikimedia\ScopedCallback;
use Wikimedia\TestingAccessWrapper;
/**
* @ingroup Testing
@ -1046,7 +1047,10 @@ class ParserTestRunner {
$context->setLanguage( $lang );
$teardown[] = function () use ( $context ) {
// Clear language conversion tables
$context->getLanguage()->getConverter()->reloadTables();
$wrapper = TestingAccessWrapper::newFromObject(
$context->getLanguage()->getConverter()
);
$wrapper->reloadTables();
// Reset context to the restored globals
$context->setUser( $GLOBALS['wgUser'] );
$context->setLanguage( $GLOBALS['wgContLang'] );