diff options
Diffstat (limited to 'tests/auto/sql/kernel/qsqlfield/tst_qsqlfield.cpp')
-rw-r--r-- | tests/auto/sql/kernel/qsqlfield/tst_qsqlfield.cpp | 115 |
1 files changed, 55 insertions, 60 deletions
diff --git a/tests/auto/sql/kernel/qsqlfield/tst_qsqlfield.cpp b/tests/auto/sql/kernel/qsqlfield/tst_qsqlfield.cpp index 7efd19a2b8..5e012ba39c 100644 --- a/tests/auto/sql/kernel/qsqlfield/tst_qsqlfield.cpp +++ b/tests/auto/sql/kernel/qsqlfield/tst_qsqlfield.cpp @@ -1,33 +1,8 @@ -/**************************************************************************** -** -** 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 <QtTest/QtTest> +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + + +#include <QTest> #include <qsqlfield.h> #include <qvariant.h> @@ -64,6 +39,7 @@ private slots: void clear(); void setTableName_data(); void setTableName(); + void moveSemantics(); }; // Testing get/set functions @@ -134,7 +110,7 @@ void tst_QSqlField::clear_data() void tst_QSqlField::clear() { - QSqlField field( "Testfield", QVariant::Int ); + QSqlField field( "Testfield", QMetaType(QMetaType::Int) ); QFETCH( int, val ); field.setValue( val ); field.setReadOnly(true); @@ -142,7 +118,7 @@ void tst_QSqlField::clear() QVERIFY( field.value() == val ); QVERIFY( !field.isNull() ); - QSqlField bfield( "Testfield", QVariant::Bool ); + QSqlField bfield( "Testfield", QMetaType(QMetaType::Bool) ); QFETCH( bool, bval ); bfield.setValue( QVariant(bval) ); bfield.setReadOnly(true); @@ -151,7 +127,7 @@ void tst_QSqlField::clear() QVERIFY( bfield.value() == QVariant(bval) ); QVERIFY( !bfield.isNull() ); - QSqlField ffield( "Testfield", QVariant::Double ); + QSqlField ffield( "Testfield", QMetaType(QMetaType::Double) ); QFETCH( double, fval ); ffield.setValue( fval ); ffield.setReadOnly(true); @@ -159,7 +135,7 @@ void tst_QSqlField::clear() QVERIFY( ffield.value() == fval ); QVERIFY( !ffield.isNull() ); - QSqlField sfield( "Testfield", QVariant::String ); + QSqlField sfield( "Testfield", QMetaType(QMetaType::QString) ); QFETCH( QString, strVal ); sfield.setValue( strVal ); sfield.setReadOnly(true); @@ -170,13 +146,13 @@ void tst_QSqlField::clear() void tst_QSqlField::isNull() { - QSqlField field( "test", QVariant::String ); + QSqlField field( "test", QMetaType(QMetaType::QString) ); QVERIFY( field.isNull() ); } void tst_QSqlField::isReadOnly() { - QSqlField field( "test", QVariant::String ); + QSqlField field( "test", QMetaType(QMetaType::QString) ); QVERIFY( !field.isReadOnly() ); field.setReadOnly( true ); QVERIFY( field.isReadOnly() ); @@ -196,7 +172,7 @@ void tst_QSqlField::name_data() void tst_QSqlField::name() { - QSqlField field( "test", QVariant::String ); + QSqlField field( "test", QMetaType(QMetaType::QString) ); QFETCH( QString, val ); QCOMPARE(field.name(), QLatin1String("test")); field.setName( val ); @@ -205,28 +181,28 @@ void tst_QSqlField::name() void tst_QSqlField::operator_Assign() { - QSqlField field1( "test", QVariant::String ); + QSqlField field1( "test", QMetaType(QMetaType::QString) ); field1.setValue( "Harry" ); field1.setReadOnly( true ); QSqlField field2 = field1; QVERIFY( field1 == field2 ); - QSqlField field3( "test", QVariant::Double ); + QSqlField field3( "test", QMetaType(QMetaType::Double) ); field3.clear(); field1 = field3; QVERIFY( field1 == field3 ); - QSqlField field4("test", QVariant::String, "ATable"); + QSqlField field4("test", QMetaType(QMetaType::QString), "ATable"); field1 = field4; QVERIFY(field1 == field4); } void tst_QSqlField::operator_Equal() { - QSqlField field1( "test", QVariant::String ); - QSqlField field2( "test2", QVariant::String ); - QSqlField field3( "test", QVariant::Int ); - QSqlField field4("test", QVariant::String, QString("ATable")); - QSqlField field5("test2", QVariant::String, QString("ATable")); - QSqlField field6("test", QVariant::String, QString("BTable")); + QSqlField field1( "test", QMetaType(QMetaType::QString) ); + QSqlField field2( "test2", QMetaType(QMetaType::QString) ); + QSqlField field3( "test", QMetaType(QMetaType::Int) ); + QSqlField field4("test", QMetaType(QMetaType::QString), QString("ATable")); + QSqlField field5("test2", QMetaType(QMetaType::QString), QString("ATable")); + QSqlField field6("test", QMetaType(QMetaType::QString), QString("BTable")); QVERIFY( !(field1 == field2) ); QVERIFY( !(field1 == field3) ); @@ -265,7 +241,7 @@ void tst_QSqlField::setName_data() void tst_QSqlField::setName() { - QSqlField field( "test", QVariant::String ); + QSqlField field( "test", QMetaType(QMetaType::QString) ); QFETCH( QString, val ); QCOMPARE(field.name(), QLatin1String("test")); field.setName( val ); @@ -274,7 +250,7 @@ void tst_QSqlField::setName() void tst_QSqlField::setNull() { - QSqlField field( "test", QVariant::String ); + QSqlField field( "test", QMetaType(QMetaType::QString) ); field.setValue( "test" ); field.clear(); QVERIFY( field.value() == QVariant().toString() ); @@ -283,7 +259,7 @@ void tst_QSqlField::setNull() void tst_QSqlField::setReadOnly() { - QSqlField field( "test", QVariant::String ); + QSqlField field( "test", QMetaType(QMetaType::QString) ); field.setValue( "test" ); field.setReadOnly( true ); field.setValue( "Harry" ); @@ -317,10 +293,10 @@ void tst_QSqlField::setValue_data() void tst_QSqlField::setValue() { - QSqlField field1 ( "test", QVariant::Int ); - QSqlField field2 ( "test", QVariant::String ); - QSqlField field3 ( "test", QVariant::Bool ); - QSqlField field4 ( "test", QVariant::Double ); + QSqlField field1 ( "test", QMetaType(QMetaType::Int) ); + QSqlField field2 ( "test", QMetaType(QMetaType::QString) ); + QSqlField field3 ( "test", QMetaType(QMetaType::Bool) ); + QSqlField field4 ( "test", QMetaType(QMetaType::Double) ); field1.clear(); QFETCH( int, ival ); QFETCH( QString, sval ); @@ -344,12 +320,12 @@ void tst_QSqlField::setValue() void tst_QSqlField::type() { - QSqlField field1( "string", QVariant::String ); - QSqlField field2( "string", QVariant::Bool ); - QSqlField field3( "string", QVariant::Double ); - QVERIFY( field1.type() == QVariant::String ); - QVERIFY( field2.type() == QVariant::Bool ); - QVERIFY( field3.type() == QVariant::Double ); + QSqlField field1( "string", QMetaType(QMetaType::QString) ); + QSqlField field2( "string", QMetaType(QMetaType::Bool) ); + QSqlField field3( "string", QMetaType(QMetaType::Double) ); + QVERIFY( field1.metaType() == QMetaType(QMetaType::QString) ); + QVERIFY( field2.metaType() == QMetaType(QMetaType::Bool) ); + QVERIFY( field3.metaType() == QMetaType(QMetaType::Double) ); } void tst_QSqlField::setTableName_data() @@ -362,12 +338,31 @@ void tst_QSqlField::setTableName_data() void tst_QSqlField::setTableName() { - QSqlField field("test", QVariant::String, "test"); + QSqlField field("test", QMetaType(QMetaType::QString), "test"); QFETCH(QString, tableName); QCOMPARE(field.tableName(), QLatin1String("test")); field.setTableName(tableName); 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" |