diff options
Diffstat (limited to 'tests/auto/sql/kernel/qsqlfield/tst_qsqlfield.cpp')
-rw-r--r-- | tests/auto/sql/kernel/qsqlfield/tst_qsqlfield.cpp | 22 |
1 files changed, 21 insertions, 1 deletions
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" |