From: C. Scott Ananian Date: Tue, 27 Jun 2017 21:09:12 +0000 (-0400) Subject: tests: Use TestingAccessWrapper to reload LanguageConverter tables X-Git-Tag: 1.31.0-rc.0~2872^2 X-Git-Url: https://git.heureux-cyclage.org/?a=commitdiff_plain;h=5e76bb2657f98d43cd29655f0995fc54df0a3933;p=lhc%2Fweb%2Fwiklou.git tests: Use TestingAccessWrapper to reload LanguageConverter tables Make the LanguageConverter::reloadTables method actually private, and use the TestingAccessWrapper to call it when running parser tests. Follow-up to I65736520cd04bfe8949b29ade07338a6e1b88a4d. Change-Id: I43b81b8fef6441ad50b858ff7757732ecb5eef91 --- diff --git a/languages/FakeConverter.php b/languages/FakeConverter.php index 0bf88c6319..22377c28be 100644 --- a/languages/FakeConverter.php +++ b/languages/FakeConverter.php @@ -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() { } } diff --git a/languages/LanguageConverter.php b/languages/LanguageConverter.php index ef88c123eb..213778682e 100644 --- a/languages/LanguageConverter.php +++ b/languages/LanguageConverter.php @@ -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 ); } diff --git a/tests/parser/ParserTestRunner.php b/tests/parser/ParserTestRunner.php index 26c5586a32..5aba371c2a 100644 --- a/tests/parser/ParserTestRunner.php +++ b/tests/parser/ParserTestRunner.php @@ -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'] );