From b32d16d468db81a1ba1049cad2d336e2ce8d7472 Mon Sep 17 00:00:00 2001 From: Kari Oikarinen Date: Fri, 23 Mar 2018 12:59:40 +0200 Subject: tst_QLocale: Avoid manual deletes Also use data-driven test to reduce duplication. Change-Id: I9516e52267cb3c7b239030fd73dbbf23ac8f52f7 Reviewed-by: Sami Nurmenniemi Reviewed-by: Edward Welbourne Reviewed-by: Thiago Macieira --- tests/auto/corelib/tools/qlocale/tst_qlocale.cpp | 33 ++++++++++++++---------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp b/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp index c6c16a5982..375cecd521 100644 --- a/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp +++ b/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp @@ -137,6 +137,7 @@ private slots: void formattedDataSize(); void bcp47Name(); + void systemLocale_data(); void systemLocale(); // *** ORDER-DEPENDENCY *** (This Is Bad.) @@ -2682,27 +2683,31 @@ private: const QLocale m_locale; }; +void tst_QLocale::systemLocale_data() +{ + QTest::addColumn("name"); + QTest::addColumn("language"); + QTest::addRow("catalan") << QString("ca") << QLocale::Catalan; + QTest::addRow("ukrainian") << QString("uk") << QLocale::Ukrainian; + QTest::addRow("german") << QString("de") << QLocale::German; +} + void tst_QLocale::systemLocale() { QLocale originalLocale; + QLocale originalSystemLocale = QLocale::system(); - MySystemLocale *sLocale = new MySystemLocale(QLocale("uk")); - QCOMPARE(QLocale().language(), QLocale::Ukrainian); - QCOMPARE(QLocale::system().language(), QLocale::Ukrainian); - delete sLocale; - - sLocale = new MySystemLocale(QLocale("ca")); - QCOMPARE(QLocale().language(), QLocale::Catalan); - QCOMPARE(QLocale::system().language(), QLocale::Catalan); - delete sLocale; + QFETCH(QString, name); + QFETCH(QLocale::Language, language); - sLocale = new MySystemLocale(QLocale("de")); - QCOMPARE(QLocale().language(), QLocale::German); - QCOMPARE(QLocale::system().language(), QLocale::German); - delete sLocale; + { + MySystemLocale sLocale(name); + QCOMPARE(QLocale().language(), language); + QCOMPARE(QLocale::system().language(), language); + } QCOMPARE(QLocale(), originalLocale); - QCOMPARE(QLocale::system(), originalLocale); + QCOMPARE(QLocale::system(), originalSystemLocale); } QTEST_MAIN(tst_QLocale) -- cgit v1.2.3