diff options
Diffstat (limited to 'tests/auto/corelib')
3 files changed, 30 insertions, 1 deletions
diff --git a/tests/auto/corelib/kernel/qtranslator/android_testdata.qrc b/tests/auto/corelib/kernel/qtranslator/android_testdata.qrc new file mode 100644 index 0000000000..b33995ef21 --- /dev/null +++ b/tests/auto/corelib/kernel/qtranslator/android_testdata.qrc @@ -0,0 +1,7 @@ +<RCC> + <qresource prefix="/android_testdata"> + <file>hellotr_la.qm</file> + <file>msgfmt_from_po.qm</file> + <file>dependencies_la.qm</file> + </qresource> +</RCC> diff --git a/tests/auto/corelib/kernel/qtranslator/qtranslator.pro b/tests/auto/corelib/kernel/qtranslator/qtranslator.pro index 41c3dea924..e588f44370 100644 --- a/tests/auto/corelib/kernel/qtranslator/qtranslator.pro +++ b/tests/auto/corelib/kernel/qtranslator/qtranslator.pro @@ -4,4 +4,6 @@ QT = core testlib SOURCES = tst_qtranslator.cpp RESOURCES += qtranslator.qrc -TESTDATA += hellotr_la.qm msgfmt_from_po.qm +android:!android-no-sdk: RESOURCES += android_testdata.qrc +else: TESTDATA += hellotr_la.qm msgfmt_from_po.qm + diff --git a/tests/auto/corelib/kernel/qtranslator/tst_qtranslator.cpp b/tests/auto/corelib/kernel/qtranslator/tst_qtranslator.cpp index 802d649496..077da6fce8 100644 --- a/tests/auto/corelib/kernel/qtranslator/tst_qtranslator.cpp +++ b/tests/auto/corelib/kernel/qtranslator/tst_qtranslator.cpp @@ -68,6 +68,26 @@ tst_QTranslator::tst_QTranslator() void tst_QTranslator::initTestCase() { +#if defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_NO_SDK) + QString sourceDir(":/android_testdata/"); + QDirIterator it(sourceDir, QDirIterator::Subdirectories); + while (it.hasNext()) { + it.next(); + + QFileInfo sourceFileInfo = it.fileInfo(); + if (!sourceFileInfo.isDir()) { + QFileInfo destinationFileInfo(QStandardPaths::writableLocation(QStandardPaths::CacheLocation) + QLatin1Char('/') + sourceFileInfo.filePath().mid(sourceDir.length())); + + if (!destinationFileInfo.exists()) { + QVERIFY(QDir().mkpath(destinationFileInfo.path())); + QVERIFY(QFile::copy(sourceFileInfo.filePath(), destinationFileInfo.filePath())); + } + } + } + + QDir::setCurrent(QStandardPaths::writableLocation(QStandardPaths::CacheLocation)); +#endif + // chdir into the directory containing our testdata, // to make the code simpler (load testdata via relative paths) QString testdata_dir = QFileInfo(QFINDTESTDATA("hellotr_la.qm")).absolutePath(); |