summaryrefslogtreecommitdiffstats
path: root/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp')
-rw-r--r--tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp b/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp
index 4bc8645f02..b22e876c3c 100644
--- a/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp
+++ b/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp
@@ -219,6 +219,9 @@ private slots:
void sqlite_constraint_data() { generic_data("QSQLITE"); }
void sqlite_constraint();
+ void sqlite_real_data() { generic_data("QSQLITE"); }
+ void sqlite_real();
+
private:
// returns all database connections
void generic_data(const QString &engine=QString());
@@ -3309,5 +3312,32 @@ void tst_QSqlQuery::sqlite_constraint()
QCOMPARE(q.lastError().databaseText(), QLatin1String("Raised Abort successfully"));
}
+void tst_QSqlQuery::sqlite_real()
+{
+ QFETCH(QString, dbName);
+ QSqlDatabase db = QSqlDatabase::database(dbName);
+ CHECK_DATABASE(db);
+ const QString tableName(qTableName("sqliterealtype", __FILE__));
+ tst_Databases::safeDropTable( db, tableName );
+
+ QSqlQuery q(db);
+ QVERIFY_SQL(q, exec("CREATE TABLE " + tableName + " (id INTEGER, realVal REAL)"));
+ QVERIFY_SQL(q, exec("INSERT INTO " + tableName + " (id, realVal) VALUES (1, 2.3)"));
+ QVERIFY_SQL(q, exec("SELECT realVal FROM " + tableName));
+ QVERIFY(q.next());
+ QCOMPARE(q.value(0).toDouble(), 2.3);
+ QCOMPARE(q.record().field(0).type(), QVariant::Double);
+
+ q.prepare("INSERT INTO " + tableName + " (id, realVal) VALUES (?, ?)");
+ QVariant var((double)5.6);
+ q.addBindValue(4);
+ q.addBindValue(var);
+ QVERIFY_SQL(q, exec());
+
+ QVERIFY_SQL(q, exec("SELECT realVal FROM " + tableName + " WHERE ID=4"));
+ QVERIFY(q.next());
+ QCOMPARE(q.value(0).toDouble(), 5.6);
+}
+
QTEST_MAIN( tst_QSqlQuery )
#include "tst_qsqlquery.moc"