summaryrefslogtreecommitdiffstats
path: root/tests/auto/sql/kernel/qsqlfield
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/sql/kernel/qsqlfield')
-rw-r--r--tests/auto/sql/kernel/qsqlfield/CMakeLists.txt10
-rw-r--r--tests/auto/sql/kernel/qsqlfield/tst_qsqlfield.cpp22
2 files changed, 28 insertions, 4 deletions
diff --git a/tests/auto/sql/kernel/qsqlfield/CMakeLists.txt b/tests/auto/sql/kernel/qsqlfield/CMakeLists.txt
index 8e3826f5ff..2fef227201 100644
--- a/tests/auto/sql/kernel/qsqlfield/CMakeLists.txt
+++ b/tests/auto/sql/kernel/qsqlfield/CMakeLists.txt
@@ -1,12 +1,16 @@
# Copyright (C) 2022 The Qt Company Ltd.
-# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
-
-# Generated from qsqlfield.pro.
+# SPDX-License-Identifier: BSD-3-Clause
#####################################################################
## tst_qsqlfield Test:
#####################################################################
+if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT)
+ cmake_minimum_required(VERSION 3.16)
+ project(tst_qsqlfield LANGUAGES CXX)
+ find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST)
+endif()
+
qt_internal_add_test(tst_qsqlfield
SOURCES
tst_qsqlfield.cpp
diff --git a/tests/auto/sql/kernel/qsqlfield/tst_qsqlfield.cpp b/tests/auto/sql/kernel/qsqlfield/tst_qsqlfield.cpp
index 79c774630d..5e012ba39c 100644
--- a/tests/auto/sql/kernel/qsqlfield/tst_qsqlfield.cpp
+++ b/tests/auto/sql/kernel/qsqlfield/tst_qsqlfield.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>
@@ -39,6 +39,7 @@ private slots:
void clear();
void setTableName_data();
void setTableName();
+ void moveSemantics();
};
// Testing get/set functions
@@ -344,5 +345,24 @@ void tst_QSqlField::setTableName()
QCOMPARE(field.tableName(), tableName);
}
+void tst_QSqlField::moveSemantics()
+{
+ QSqlField field("test", QMetaType(QMetaType::QString), "testTable");
+ QSqlField empty;
+ field.setValue("string");
+ auto moved = std::move(field);
+ // `field` is now partially-formed
+
+ // moving transfers state:
+ QCOMPARE(moved.value().toString(), QLatin1String("string"));
+
+ // moved-from objects can be assigned-to:
+ field = empty;
+ QVERIFY(field.value().isNull());
+
+ // moved-from object can be destroyed:
+ moved = std::move(field);
+}
+
QTEST_MAIN(tst_QSqlField)
#include "tst_qsqlfield.moc"