summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib/kernel')
-rw-r--r--tests/auto/corelib/kernel/qtranslator/android_testdata.qrc7
-rw-r--r--tests/auto/corelib/kernel/qtranslator/qtranslator.pro4
-rw-r--r--tests/auto/corelib/kernel/qtranslator/tst_qtranslator.cpp20
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();