diff options
author | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2023-09-16 11:28:49 +0200 |
---|---|---|
committer | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2023-09-22 07:18:10 +0200 |
commit | 0022b05a9a222912ed91f658c058dff6955d2de4 (patch) | |
tree | 756117c07c0cec93fba0ef6e09a981ca61d78a4a /tests/auto/corelib/kernel/qjnitypes/tst_qjnitypes.cpp | |
parent | dc126de22ea4d38736ae57c08c0b271f3c53fad9 (diff) |
JNI: rename our compile-time String type to CTString
The type lives in the QtJniTypes namespace, which is where types end up
that are declared through the Q_DECLARE_JNI_CLASS/TYPE macros. Having a
String type in that namespace prevents us from declaring the Java String
class as a QtJniTypes type, which is silly.
Perhaps this type becomes obsolete at some point with std::string being
a constexpr type in C++23, but until then we need it. It has no ABI, so
renaming it us safe.
Until submodules are ported, leave a compatibility alias String type,
which also prevents us from declaring a String JNI class in tests until
the alias is removed in a later commit.
Change-Id: I489a40a9b9e94e6495cf54548238438e9220d5c1
Reviewed-by: Zoltan Gera <zoltan.gera@qt.io>
Reviewed-by: Tinja Paavoseppä <tinja.paavoseppa@qt.io>
Reviewed-by: Petri Virkkunen <petri.virkkunen@qt.io>
Diffstat (limited to 'tests/auto/corelib/kernel/qjnitypes/tst_qjnitypes.cpp')
-rw-r--r-- | tests/auto/corelib/kernel/qjnitypes/tst_qjnitypes.cpp | 38 |
1 files changed, 18 insertions, 20 deletions
diff --git a/tests/auto/corelib/kernel/qjnitypes/tst_qjnitypes.cpp b/tests/auto/corelib/kernel/qjnitypes/tst_qjnitypes.cpp index 3ad4827f93..d7b7059bd3 100644 --- a/tests/auto/corelib/kernel/qjnitypes/tst_qjnitypes.cpp +++ b/tests/auto/corelib/kernel/qjnitypes/tst_qjnitypes.cpp @@ -21,20 +21,20 @@ struct QtJavaWrapper {}; template<> constexpr auto QtJniTypes::typeSignature<QtJavaWrapper>() { - return QtJniTypes::String("Lorg/qtproject/qt/android/QtJavaWrapper;"); + return QtJniTypes::CTString("Lorg/qtproject/qt/android/QtJavaWrapper;"); } template<> constexpr auto QtJniTypes::typeSignature<QJniObject>() { - return QtJniTypes::String("Ljava/lang/Object;"); + return QtJniTypes::CTString("Ljava/lang/Object;"); } struct QtCustomJniObject : QJniObject {}; template<> constexpr auto QtJniTypes::typeSignature<QtCustomJniObject>() { - return QtJniTypes::String("Lorg/qtproject/qt/android/QtCustomJniObject;"); + return QtJniTypes::CTString("Lorg/qtproject/qt/android/QtCustomJniObject;"); } static_assert(QtJniTypes::typeSignature<QtJavaWrapper>() == "Lorg/qtproject/qt/android/QtJavaWrapper;"); @@ -46,8 +46,6 @@ static_assert(QtJniTypes::typeSignature<QtJniTypes::JavaType>() == "Lorg/qtproje Q_DECLARE_JNI_TYPE(ArrayType, "[Lorg/qtproject/qt/ArrayType;") static_assert(QtJniTypes::typeSignature<QtJniTypes::ArrayType>() == "[Lorg/qtproject/qt/ArrayType;"); -static_assert(QtJniTypes::className<jstring>() == "java/lang/String"); - Q_DECLARE_JNI_CLASS(QtTextToSpeech, "org/qtproject/qt/android/speech/QtTextToSpeech") static_assert(QtJniTypes::className<QtJniTypes::QtTextToSpeech>() == "org/qtproject/qt/android/speech/QtTextToSpeech"); @@ -91,21 +89,21 @@ static_assert(QtJniTypes::isArrayType<jobject[]>()); static_assert(QtJniTypes::isArrayType<jobjectArray>()); static_assert(QtJniTypes::isArrayType<QtJavaWrapper[]>()); -static_assert(QtJniTypes::String("ABCDE").startsWith("ABC")); -static_assert(QtJniTypes::String("ABCDE").startsWith("A")); -static_assert(QtJniTypes::String("ABCDE").startsWith("ABCDE")); -static_assert(!QtJniTypes::String("ABCDE").startsWith("ABCDEF")); -static_assert(!QtJniTypes::String("ABCDE").startsWith("9AB")); -static_assert(QtJniTypes::String("ABCDE").startsWith('A')); -static_assert(!QtJniTypes::String("ABCDE").startsWith('B')); - -static_assert(QtJniTypes::String("ABCDE").endsWith("CDE")); -static_assert(QtJniTypes::String("ABCDE").endsWith("E")); -static_assert(QtJniTypes::String("ABCDE").endsWith("ABCDE")); -static_assert(!QtJniTypes::String("ABCDE").endsWith("DEF")); -static_assert(!QtJniTypes::String("ABCDE").endsWith("ABCDEF")); -static_assert(QtJniTypes::String("ABCDE").endsWith('E')); -static_assert(!QtJniTypes::String("ABCDE").endsWith('F')); +static_assert(QtJniTypes::CTString("ABCDE").startsWith("ABC")); +static_assert(QtJniTypes::CTString("ABCDE").startsWith("A")); +static_assert(QtJniTypes::CTString("ABCDE").startsWith("ABCDE")); +static_assert(!QtJniTypes::CTString("ABCDE").startsWith("ABCDEF")); +static_assert(!QtJniTypes::CTString("ABCDE").startsWith("9AB")); +static_assert(QtJniTypes::CTString("ABCDE").startsWith('A')); +static_assert(!QtJniTypes::CTString("ABCDE").startsWith('B')); + +static_assert(QtJniTypes::CTString("ABCDE").endsWith("CDE")); +static_assert(QtJniTypes::CTString("ABCDE").endsWith("E")); +static_assert(QtJniTypes::CTString("ABCDE").endsWith("ABCDE")); +static_assert(!QtJniTypes::CTString("ABCDE").endsWith("DEF")); +static_assert(!QtJniTypes::CTString("ABCDE").endsWith("ABCDEF")); +static_assert(QtJniTypes::CTString("ABCDE").endsWith('E')); +static_assert(!QtJniTypes::CTString("ABCDE").endsWith('F')); void tst_QJniTypes::initTestCase() { |