bug 59805: tearDown should reset, not set, the LocaleUtil ThreadLocals (also avoid memory leaks)

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1751741 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Javen O'Neal 2016-07-07 02:09:25 +00:00
parent b45a65e667
commit 140b11bc7a

View File

@ -40,16 +40,12 @@ public class TestLocaleUtil {
/** /**
* Reset the Locale to the user default before the test so that it isn't influenced * Reset the Locale to the user default before the test so that it isn't influenced
* by the LocaleUtil's state being changed by previous tests. * by the LocaleUtil's state being changed by previous tests.
*
* Reset the Locale to the user default after the test so that it doesn't influence
* other tests.
*/ */
@Before @Before
@After
@SuppressForbidden("implementation around default locales in POI") @SuppressForbidden("implementation around default locales in POI")
public void reset() { public void setUp() {
// clear the user locale and time zone so that tests do not interfere with each other // reset the user locale and time zone so that tests do not interfere with each other
// the other way and better way would be to run each test in its own thread since // the other and better way would be to run each test in its own thread since
// LocaleUtil uses per-thread settings. // LocaleUtil uses per-thread settings.
// Helpful, but not ASL 2.0 licensed: // Helpful, but not ASL 2.0 licensed:
// http://www.codeaffine.com/2014/07/21/a-junit-rule-to-run-a-test-in-its-own-thread/ // http://www.codeaffine.com/2014/07/21/a-junit-rule-to-run-a-test-in-its-own-thread/
@ -59,6 +55,16 @@ public class TestLocaleUtil {
assumeFalse(ja_JP.equals(LocaleUtil.getUserLocale())); assumeFalse(ja_JP.equals(LocaleUtil.getUserLocale()));
assumeFalse(TOKYO.equals(LocaleUtil.getUserTimeZone())); assumeFalse(TOKYO.equals(LocaleUtil.getUserTimeZone()));
} }
/**
* Reset the Locale to the user default after the test so that it doesn't influence
* other tests.
*/
@After
public void tearDown() {
LocaleUtil.resetUserLocale();
LocaleUtil.resetUserTimeZone();
}
@Test @Test
@SuppressForbidden("implementation around default locales in POI") @SuppressForbidden("implementation around default locales in POI")