From b80b7020ce64dc02121cdc096edb0ebcec003552 Mon Sep 17 00:00:00 2001 From: "C. Scott Ananian" Date: Mon, 26 Jun 2017 13:56:30 -0400 Subject: [PATCH] tests: Reset LanguageConverter conversion tables between test cases Conversion rules defined in a previous test case were leaking into subsequent test cases. Existing tests had worked around this by defining non-overlapping rules, but it's better to just fix the problem at the source. Change-Id: I65736520cd04bfe8949b29ade07338a6e1b88a4d --- languages/FakeConverter.php | 3 +++ languages/LanguageConverter.php | 4 +++- tests/parser/ParserTestRunner.php | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/languages/FakeConverter.php b/languages/FakeConverter.php index 0cddc9957e..0bf88c6319 100644 --- a/languages/FakeConverter.php +++ b/languages/FakeConverter.php @@ -125,4 +125,7 @@ class FakeConverter { public function updateConversionTable( Title $title ) { } + + public function reloadTables() { + } } diff --git a/languages/LanguageConverter.php b/languages/LanguageConverter.php index 19d644c57e..ef88c123eb 100644 --- a/languages/LanguageConverter.php +++ b/languages/LanguageConverter.php @@ -891,7 +891,9 @@ class LanguageConverter { /** * Reload the conversion tables. * - * @private + * Public only for use by test suites which need to reset the converter + * state. + * */ function reloadTables() { if ( $this->mTables ) { diff --git a/tests/parser/ParserTestRunner.php b/tests/parser/ParserTestRunner.php index f44b0d5e26..26c5586a32 100644 --- a/tests/parser/ParserTestRunner.php +++ b/tests/parser/ParserTestRunner.php @@ -1045,6 +1045,8 @@ class ParserTestRunner { $context->setUser( $user ); $context->setLanguage( $lang ); $teardown[] = function () use ( $context ) { + // Clear language conversion tables + $context->getLanguage()->getConverter()->reloadTables(); // Reset context to the restored globals $context->setUser( $GLOBALS['wgUser'] ); $context->setLanguage( $GLOBALS['wgContLang'] ); -- 2.20.1