summaryrefslogtreecommitdiffstats
path: root/tests/auto/sql/kernel/qsqlfield/tst_qsqlfield.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/sql/kernel/qsqlfield/tst_qsqlfield.cpp')
-rw-r--r--tests/auto/sql/kernel/qsqlfield/tst_qsqlfield.cpp115
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"