diff options
author | Assam Boudjelthia <assam.boudjelthia@qt.io> | 2021-05-11 14:23:45 +0300 |
---|---|---|
committer | Assam Boudjelthia <assam.boudjelthia@qt.io> | 2021-05-13 01:41:36 +0300 |
commit | 23780891a50ba678714f7e0a4cf43a0f8164b440 (patch) | |
tree | 6dace90d624f15f1e456f4d8294cb67beab1e9d4 /tests | |
parent | 320c282488f4ae4cae735b0be027170803d06cd7 (diff) |
Add tests for QAndroidApplication's sdkVersion and activity
While at it, move tst_android under corelib/platform/android.
Change-Id: Icf91cd75cb5e04d03fe6a81d52fba52a485ca41f
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/corelib/CMakeLists.txt | 1 | ||||
-rw-r--r-- | tests/auto/corelib/platform/CMakeLists.txt | 3 | ||||
-rw-r--r-- | tests/auto/corelib/platform/android/CMakeLists.txt | 21 | ||||
-rw-r--r-- | tests/auto/corelib/platform/android/testdata/assets/test.txt | 1 | ||||
-rw-r--r-- | tests/auto/corelib/platform/android/tst_android.cpp | 82 | ||||
-rw-r--r-- | tests/auto/other/CMakeLists.txt | 3 | ||||
-rw-r--r-- | tests/auto/other/android/tst_android.cpp | 24 |
7 files changed, 129 insertions, 6 deletions
diff --git a/tests/auto/corelib/CMakeLists.txt b/tests/auto/corelib/CMakeLists.txt index bbfc0e7f17..b9bf269745 100644 --- a/tests/auto/corelib/CMakeLists.txt +++ b/tests/auto/corelib/CMakeLists.txt @@ -14,3 +14,4 @@ if(NOT UIKIT) add_subdirectory(time) add_subdirectory(tools) endif() +add_subdirectory(platform) diff --git a/tests/auto/corelib/platform/CMakeLists.txt b/tests/auto/corelib/platform/CMakeLists.txt new file mode 100644 index 0000000000..92462e98d8 --- /dev/null +++ b/tests/auto/corelib/platform/CMakeLists.txt @@ -0,0 +1,3 @@ +if(ANDROID) + add_subdirectory(android) +endif() diff --git a/tests/auto/corelib/platform/android/CMakeLists.txt b/tests/auto/corelib/platform/android/CMakeLists.txt new file mode 100644 index 0000000000..c2749825ac --- /dev/null +++ b/tests/auto/corelib/platform/android/CMakeLists.txt @@ -0,0 +1,21 @@ +# Generated from android.pro. + +##################################################################### +## tst_android Test: +##################################################################### + +qt_internal_add_test(tst_android + SOURCES + tst_android.cpp +) + +if(ANDROID) + set_property(TARGET tst_android APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR + ${CMAKE_CURRENT_SOURCE_DIR}/testdata + ) + # QTBUG-88840 # special case + qt_android_generate_deployment_settings(tst_android) # special case +endif() + +#### Keys ignored in scope 1:.:.:android.pro:<TRUE>: +# DISTFILES = "testdata/assets/test.txt" diff --git a/tests/auto/corelib/platform/android/testdata/assets/test.txt b/tests/auto/corelib/platform/android/testdata/assets/test.txt new file mode 100644 index 0000000000..61e2c47c25 --- /dev/null +++ b/tests/auto/corelib/platform/android/testdata/assets/test.txt @@ -0,0 +1 @@ +FooBar
\ No newline at end of file diff --git a/tests/auto/corelib/platform/android/tst_android.cpp b/tests/auto/corelib/platform/android/tst_android.cpp new file mode 100644 index 0000000000..3a00d9414b --- /dev/null +++ b/tests/auto/corelib/platform/android/tst_android.cpp @@ -0,0 +1,82 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <jni.h> + +#include <QTest> +#include <QtCore/qnativeinterface.h> +#include <QtCore/qjniobject.h> + +class tst_Android : public QObject +{ +Q_OBJECT +private slots: + void assetsRead(); + void assetsNotWritable(); + void testAndroidSdkVersion(); + void testAndroidActivity(); +}; + +void tst_Android::assetsRead() +{ + { + QFile file(QStringLiteral("assets:/test.txt")); + QVERIFY(file.open(QIODevice::ReadOnly)); + QCOMPARE(file.readAll(), QByteArray("FooBar")); + } + + { + QFile file(QStringLiteral("assets:/test.txt")); + QVERIFY(file.open(QIODevice::ReadOnly | QIODevice::Text)); + QCOMPARE(file.readAll(), QByteArray("FooBar")); + } +} + +void tst_Android::assetsNotWritable() +{ + QFile file(QStringLiteral("assets:/test.txt")); + QVERIFY(!file.open(QIODevice::WriteOnly)); + QVERIFY(!file.open(QIODevice::ReadWrite)); + QVERIFY(!file.open(QIODevice::Append)); +} + +void tst_Android::testAndroidSdkVersion() +{ + QVERIFY(QNativeInterface::QAndroidApplication::sdkVersion() > 0); +} + +void tst_Android::testAndroidActivity() +{ + QJniObject activity = QNativeInterface::QAndroidApplication::context(); + QVERIFY(activity.isValid()); + QVERIFY(activity.callMethod<jboolean>("isTaskRoot")); +} + +QTEST_MAIN(tst_Android) +#include "tst_android.moc" + diff --git a/tests/auto/other/CMakeLists.txt b/tests/auto/other/CMakeLists.txt index 6142d086b4..f0cdeec0f2 100644 --- a/tests/auto/other/CMakeLists.txt +++ b/tests/auto/other/CMakeLists.txt @@ -44,9 +44,6 @@ endif() if(embedded) add_subdirectory(qdirectpainter) endif() -if(ANDROID) - add_subdirectory(android) -endif() if(QT_FEATURE_xkbcommon AND TARGET Qt::Gui) add_subdirectory(xkbkeyboard) endif() diff --git a/tests/auto/other/android/tst_android.cpp b/tests/auto/other/android/tst_android.cpp index 6a492e9315..3a00d9414b 100644 --- a/tests/auto/other/android/tst_android.cpp +++ b/tests/auto/other/android/tst_android.cpp @@ -26,7 +26,11 @@ ** ****************************************************************************/ +#include <jni.h> + #include <QTest> +#include <QtCore/qnativeinterface.h> +#include <QtCore/qjniobject.h> class tst_Android : public QObject { @@ -34,18 +38,20 @@ Q_OBJECT private slots: void assetsRead(); void assetsNotWritable(); + void testAndroidSdkVersion(); + void testAndroidActivity(); }; void tst_Android::assetsRead() { { - QFile file("assets:/test.txt"); + QFile file(QStringLiteral("assets:/test.txt")); QVERIFY(file.open(QIODevice::ReadOnly)); QCOMPARE(file.readAll(), QByteArray("FooBar")); } { - QFile file("assets:/test.txt"); + QFile file(QStringLiteral("assets:/test.txt")); QVERIFY(file.open(QIODevice::ReadOnly | QIODevice::Text)); QCOMPARE(file.readAll(), QByteArray("FooBar")); } @@ -53,12 +59,24 @@ void tst_Android::assetsRead() void tst_Android::assetsNotWritable() { - QFile file("assets:/test.txt"); + QFile file(QStringLiteral("assets:/test.txt")); QVERIFY(!file.open(QIODevice::WriteOnly)); QVERIFY(!file.open(QIODevice::ReadWrite)); QVERIFY(!file.open(QIODevice::Append)); } +void tst_Android::testAndroidSdkVersion() +{ + QVERIFY(QNativeInterface::QAndroidApplication::sdkVersion() > 0); +} + +void tst_Android::testAndroidActivity() +{ + QJniObject activity = QNativeInterface::QAndroidApplication::context(); + QVERIFY(activity.isValid()); + QVERIFY(activity.callMethod<jboolean>("isTaskRoot")); +} + QTEST_MAIN(tst_Android) #include "tst_android.moc" |