Changed locale handling and added tests

Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
This commit is contained in:
John Jones-Steele
2021-08-09 16:01:18 +01:00
parent dcfeae1cc9
commit 12505da6fc
5 changed files with 40 additions and 9 deletions
-3
View File
@@ -1626,9 +1626,6 @@ BOOL CCryEditApp::InitInstance()
ReflectedVarInit::setupReflection(serializeContext);
RegisterReflectedVarHandlers();
QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates));
CreateSplashScreen();
// Register the application's document templates. Document templates
@@ -22,8 +22,6 @@ namespace AzQtComponents
QApplication::setApplicationName("O3DE Tools Application");
AzQtComponents::PrepareQtPaths();
QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates));
}
void AzQtApplication::InitializeDpiScaling()
@@ -134,8 +134,6 @@ int main(int argc, char **argv)
QApplication::setOrganizationDomain("o3de.org");
QApplication::setApplicationName("O3DEWidgetGallery");
QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates));
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);
@@ -64,3 +64,43 @@ TEST(AzQtComponents, FloatToString_TruncateShowThousandsSeparatorOnlyOneDecimal)
int numDecimalPlaces = 2;
EXPECT_EQ(AzQtComponents::toString(1000.000, numDecimalPlaces, testLocal, showThousandsSeparator), "1,000.0");
}
TEST(AzQtComponents, FloatToString_Truncate2DecimalsWithLocale)
{
QLocale testLocal{ QLocale() };
const bool showThousandsSeparator = false;
const int numDecimalPlaces = 2;
QString testString = "0" + QString(testLocal.decimalPoint()) + "12";
EXPECT_EQ(AzQtComponents::toString(0.1234, numDecimalPlaces, testLocal, showThousandsSeparator), testString);
}
TEST(AzQtComponents, FloatToString_AllZerosButOneWithLocale)
{
QLocale testLocal{ QLocale() };
const bool showThousandsSeparator = false;
const int numDecimalPlaces = 2;
QString testString = "1" + QString(testLocal.decimalPoint()) + "0";
EXPECT_EQ(AzQtComponents::toString(1.0000, numDecimalPlaces, testLocal, showThousandsSeparator), testString);
}
TEST(AzQtComponents, FloatToString_TruncateShowThousandsSeparatorTruncateNoRoundWithLocale)
{
QLocale testLocal{ QLocale() };
const bool showThousandsSeparator = true;
const int numDecimalPlaces = 3;
QString testString = "1" + QString(testLocal.groupSeparator()) + "000" + QString(testLocal.decimalPoint()) + "123";
EXPECT_EQ(AzQtComponents::toString(1000.1236, numDecimalPlaces, testLocal, showThousandsSeparator), testString);
}
TEST(AzQtComponents, FloatToString_TruncateShowThousandsSeparatorOnlyOneDecimalWithLocale)
{
QLocale testLocal{ QLocale() };
const bool showThousandsSeparator = true;
int numDecimalPlaces = 2;
QString testString = "1" + QString(testLocal.groupSeparator()) + "000" + QString(testLocal.decimalPoint()) + "0";
EXPECT_EQ(AzQtComponents::toString(1000.000, numDecimalPlaces, testLocal, showThousandsSeparator), testString);
}
@@ -56,8 +56,6 @@ namespace O3DE::ProjectManager
QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
QCoreApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings);
QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates));
QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);
AzQtComponents::Utilities::HandleDpiAwareness(AzQtComponents::Utilities::SystemDpiAware);