summaryrefslogtreecommitdiffstats
path: root/tests/auto/sql/kernel/qsqlrecord/tst_qsqlrecord.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/sql/kernel/qsqlrecord/tst_qsqlrecord.cpp')
-rw-r--r--tests/auto/sql/kernel/qsqlrecord/tst_qsqlrecord.cpp24
1 files changed, 19 insertions, 5 deletions
diff --git a/tests/auto/sql/kernel/qsqlrecord/tst_qsqlrecord.cpp b/tests/auto/sql/kernel/qsqlrecord/tst_qsqlrecord.cpp
index 2c9eedd8d4..8e7d5b502e 100644
--- a/tests/auto/sql/kernel/qsqlrecord/tst_qsqlrecord.cpp
+++ b/tests/auto/sql/kernel/qsqlrecord/tst_qsqlrecord.cpp
@@ -1,5 +1,5 @@
// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QTest>
@@ -10,7 +10,7 @@
#include <qsqlrecord.h>
-#define NUM_FIELDS 4
+#define NUM_FIELDS 5
class tst_QSqlRecord : public QObject
{
@@ -67,6 +67,7 @@ void tst_QSqlRecord::createTestRecord()
fields[1] = std::make_unique<QSqlField>(QStringLiteral("int"), QMetaType(QMetaType::Int), QStringLiteral("inttable"));
fields[2] = std::make_unique<QSqlField>(QStringLiteral("double"), QMetaType(QMetaType::Double), QStringLiteral("doubletable"));
fields[3] = std::make_unique<QSqlField>(QStringLiteral("bool"), QMetaType(QMetaType::Bool));
+ fields[4] = std::make_unique<QSqlField>(QStringLiteral("öäü@€"), QMetaType(QMetaType::Int));
for (const auto &field : fields)
rec->append(*field);
}
@@ -173,9 +174,22 @@ void tst_QSqlRecord::clearValues()
void tst_QSqlRecord::contains()
{
createTestRecord();
- for (const auto &field : fields)
- QVERIFY(rec->contains(field->name()));
- QVERIFY( !rec->contains( "__Harry__" ) );
+ QStringList fieldNames;
+ for (const auto &field : fields) {
+ fieldNames.append(field->name());
+ if (!field->tableName().isEmpty())
+ fieldNames.append(field->tableName() + u'.' + field->name());
+ }
+ for (const auto &name : std::as_const(fieldNames)) {
+ QVERIFY(rec->contains(name));
+ const QByteArray nameBa = name.toUtf8();
+ QVERIFY(rec->contains(nameBa));
+ const char *nameStr = nameBa.constData();
+ QVERIFY(rec->contains(nameStr));
+ QVERIFY(!rec->contains(name.left(name.size() - 1)));
+ QVERIFY(!rec->contains(name + u'.' + name));
+ }
+ QVERIFY(!rec->contains("__Harry__"));
}
void tst_QSqlRecord::count()