Extract wxLocaleSetter from the tests into a private header

This will allow using this class in the library code too.

No real changes yet, this is a pure refactoring.

This commit is best viewed using git --color-moved option.
This commit is contained in:
Vadim Zeitlin
2021-08-03 01:14:24 +02:00
parent ebec1ff9f6
commit a4940bf696
7 changed files with 64 additions and 38 deletions

View File

@@ -147,38 +147,6 @@ extern bool IsAutomaticTest();
extern bool IsRunningUnderXVFB();
// Helper class setting the locale to the given one for its lifetime.
class LocaleSetter
{
public:
LocaleSetter(const char *loc)
: m_locOld(wxStrdupA(setlocale(LC_ALL, NULL)))
{
setlocale(LC_ALL, loc);
}
~LocaleSetter()
{
setlocale(LC_ALL, m_locOld);
free(m_locOld);
}
private:
char * const m_locOld;
wxDECLARE_NO_COPY_CLASS(LocaleSetter);
};
// An even simpler helper for setting the locale to "C" one during its lifetime.
class CLocaleSetter : private LocaleSetter
{
public:
CLocaleSetter() : LocaleSetter("C") { }
private:
wxDECLARE_NO_COPY_CLASS(CLocaleSetter);
};
#if wxUSE_GUI
// Return true if the UI tests are enabled, used by WXUISIM_TEST().