summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorBill King <bill.king@nokia.com>2009-06-15 00:28:47 (GMT)
committerBill King <bill.king@nokia.com>2009-06-15 03:09:19 (GMT)
commitb8430baeadd62b643ff07a2588c62141146c08fd (patch)
treedc2d7d5e0add68df3b60b67faeaa778617b76ced /tests
parent16fe846058aa0a89577660d18bdc0aceda7fecfd (diff)
downloadQt-b8430baeadd62b643ff07a2588c62141146c08fd.zip
Qt-b8430baeadd62b643ff07a2588c62141146c08fd.tar.gz
Qt-b8430baeadd62b643ff07a2588c62141146c08fd.tar.bz2
BT Revert "Fix the behaviour of sql classes regarding quoted identifiers"
This reverts commit bb7bddc47dd0748b45d22180d9e3c8e5209010b3 due to forward binary compatibility issues in a point release.
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qsqldatabase/tst_databases.h19
-rw-r--r--tests/auto/qsqldriver/qsqldriver.pro16
-rw-r--r--tests/auto/qsqldriver/tst_qsqldriver.cpp218
-rw-r--r--tests/auto/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp455
-rw-r--r--tests/auto/qsqltablemodel/tst_qsqltablemodel.cpp15
5 files changed, 50 insertions, 673 deletions
diff --git a/tests/auto/qsqldatabase/tst_databases.h b/tests/auto/qsqldatabase/tst_databases.h
index ef51285..5b0fc7a 100644
--- a/tests/auto/qsqldatabase/tst_databases.h
+++ b/tests/auto/qsqldatabase/tst_databases.h
@@ -105,7 +105,11 @@ inline static QString qTableName( const QString& prefix, QSqlDriver* driver = 0
inline static bool testWhiteSpaceNames( const QString &name )
{
- return name != QLatin1String("QTDS7");
+/* return name.startsWith( "QPSQL" )
+ || name.startsWith( "QODBC" )
+ || name.startsWith( "QSQLITE" )
+ || name.startsWith( "QMYSQL" );*/
+ return name != QLatin1String("QSQLITE2");
}
inline static QString toHex( const QString& binary )
@@ -207,7 +211,7 @@ public:
// This requires a local ODBC data source to be configured( pointing to a MySql database )
// addDb( "QODBC", "mysqlodbc", "troll", "trond" );
// addDb( "QODBC", "SqlServer", "troll", "trond" );
-// addDb( "QTDS7", "testdb", "troll", "trondk", "horsehead" );
+// addDb( "QTDS7", "testdb", "troll", "trondk", "horsehead.nokia.troll.no" );
// addDb( "QODBC", "silencetestdb", "troll", "trond", "silence" );
// addDb( "QODBC", "horseheadtestdb", "troll", "trondk", "horsehead" );
@@ -247,7 +251,6 @@ public:
// addDb( "QODBC", "DRIVER={MySQL ODBC 3.51 Driver};SERVER=mysql5-nokia.trolltech.com.au;DATABASE=testdb", "testuser", "Ee4Gabf6_", "" );
// addDb( "QODBC", "DRIVER={FreeTDS};SERVER=horsehead.nokia.troll.no;DATABASE=testdb;PORT=4101;UID=troll;PWD=trondk", "troll", "trondk", "" );
// addDb( "QODBC", "DRIVER={FreeTDS};SERVER=silence.nokia.troll.no;DATABASE=testdb;PORT=2392;UID=troll;PWD=trond", "troll", "trond", "" );
-
}
void open()
@@ -313,22 +316,16 @@ public:
QSqlQuery q( db );
QStringList dbtables=db.tables();
- foreach(const QString &tableName, tableNames)
- {
+ foreach(const QString &tableName, tableNames) {
wasDropped = true;
- QString table=tableName;
- if ( db.driver()->isIdentifierEscaped(table, QSqlDriver::TableName))
- table = db.driver()->stripDelimiters(table, QSqlDriver::TableName);
-
foreach(const QString dbtablesName, dbtables) {
- if(dbtablesName.toUpper() == table.toUpper()) {
+ if(dbtablesName.toUpper() == tableName.toUpper()) {
dbtables.removeAll(dbtablesName);
wasDropped = q.exec("drop table " + db.driver()->escapeIdentifier( dbtablesName, QSqlDriver::TableName ));
if(!wasDropped)
wasDropped = q.exec("drop table " + dbtablesName);
}
}
-
if ( !wasDropped )
qWarning() << dbToString(db) << "unable to drop table" << tableName << ':' << q.lastError().text() << "tables:" << dbtables;
}
diff --git a/tests/auto/qsqldriver/qsqldriver.pro b/tests/auto/qsqldriver/qsqldriver.pro
deleted file mode 100644
index 0024841..0000000
--- a/tests/auto/qsqldriver/qsqldriver.pro
+++ /dev/null
@@ -1,16 +0,0 @@
-load(qttest_p4)
-SOURCES += tst_qsqldriver.cpp
-
-QT += sql
-
-wince*: {
- plugFiles.sources = ../../../plugins/sqldrivers
- plugFiles.path = .
- DEPLOYMENT += plugFiles
-} else {
- win32-g++ {
- LIBS += -lws2_32
- } else:win32 {
- LIBS += ws2_32.lib
- }
-}
diff --git a/tests/auto/qsqldriver/tst_qsqldriver.cpp b/tests/auto/qsqldriver/tst_qsqldriver.cpp
deleted file mode 100644
index bbd7483..0000000
--- a/tests/auto/qsqldriver/tst_qsqldriver.cpp
+++ /dev/null
@@ -1,218 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-#include <QtTest/QtTest>
-#include <QtSql/QtSql>
-
-#include "../qsqldatabase/tst_databases.h"
-
-
-
-//TESTED_CLASS=
-//TESTED_FILES=
-
-class tst_QSqlDriver : public QObject
-{
- Q_OBJECT
-
-public:
- void recreateTestTables(QSqlDatabase);
-
- tst_Databases dbs;
-
-public slots:
- void initTestCase_data();
- void initTestCase();
- void cleanupTestCase();
- void init();
- void cleanup();
-
-private slots:
- void record();
- void primaryIndex();
-};
-
-
-void tst_QSqlDriver::initTestCase_data()
-{
- dbs.open();
- if (dbs.fillTestTable() == 0) {
- qWarning("NO DATABASES");
- QSKIP("No database drivers are available in this Qt configuration", SkipAll);
- }
-}
-
-void tst_QSqlDriver::recreateTestTables(QSqlDatabase db)
-{
- QSqlQuery q(db);
-
- QStringList tableNames;
- tableNames << qTableName( "relTEST1" );
- tst_Databases::safeDropTables( db, tableNames );
-
- QVERIFY_SQL( q, exec("create table " + qTableName("relTEST1") +
- " (id int not null primary key, name varchar(20), title_key int, another_title_key int)"));
- QVERIFY_SQL( q, exec("insert into " + qTableName("relTEST1") + " values(1, 'harry', 1, 2)"));
- QVERIFY_SQL( q, exec("insert into " + qTableName("relTEST1") + " values(2, 'trond', 2, 1)"));
- QVERIFY_SQL( q, exec("insert into " + qTableName("relTEST1") + " values(3, 'vohi', 1, 2)"));
- QVERIFY_SQL( q, exec("insert into " + qTableName("relTEST1") + " values(4, 'boris', 2, 2)"));
-}
-
-void tst_QSqlDriver::initTestCase()
-{
- foreach (const QString &dbname, dbs.dbNames)
- recreateTestTables(QSqlDatabase::database(dbname));
-}
-
-void tst_QSqlDriver::cleanupTestCase()
-{
- QStringList tableNames;
- tableNames << qTableName( "relTEST1" );
- foreach (const QString &dbName, dbs.dbNames) {
- QSqlDatabase db = QSqlDatabase::database(dbName);
- tst_Databases::safeDropTables( db, tableNames );
- }
- dbs.close();
-}
-
-void tst_QSqlDriver::init()
-{
-}
-
-void tst_QSqlDriver::cleanup()
-{
-}
-
-void tst_QSqlDriver::record()
-{
- QFETCH_GLOBAL(QString, dbName);
- QSqlDatabase db = QSqlDatabase::database(dbName);
- CHECK_DATABASE(db);
-
- QString tablename = qTableName("relTEST1");
- QStringList fields;
- fields << "id" << "name" << "title_key" << "another_title_key";
-
- //check we can get records using an unquoted mixed case table name
- QSqlRecord rec = db.driver()->record(tablename);
- QCOMPARE(rec.count(), 4);
-
- if (db.driverName().startsWith("QIBASE")|| db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2"))
- for(int i = 0; i < fields.count(); ++i)
- fields[i] = fields[i].toUpper();
-
- for (int i = 0; i < fields.count(); ++i)
- QCOMPARE(rec.fieldName(i), fields[i]);
-
- if (db.driverName().startsWith("QIBASE") || db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2"))
- tablename = tablename.toUpper();
- else if (db.driverName().startsWith("QPSQL"))
- tablename = tablename.toLower();
-
- //check we can get records using a properly quoted table name
- rec = db.driver()->record(db.driver()->escapeIdentifier(tablename,QSqlDriver::TableName));
- QCOMPARE(rec.count(), 4);
-
- for (int i = 0; i < fields.count(); ++i)
- QCOMPARE(rec.fieldName(i), fields[i]);
-
- if( db.driverName().startsWith("QIBASE") || db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2"))
- tablename = tablename.toLower();
- else if (db.driverName().startsWith("QPSQL"))
- tablename = tablename.toUpper();
-
- //check that we can't get records using incorrect tablename casing that's been quoted
- rec = db.driver()->record(db.driver()->escapeIdentifier(tablename,QSqlDriver::TableName));
- if (db.driverName().startsWith("QMYSQL") || db.driverName().startsWith("QSQLITE") || db.driverName().startsWith("QTDS"))
- QCOMPARE(rec.count(), 4); //mysql, sqlite and tds will match
- else
- QCOMPARE(rec.count(), 0);
-
-}
-
-void tst_QSqlDriver::primaryIndex()
-{
- QFETCH_GLOBAL(QString, dbName);
- QSqlDatabase db = QSqlDatabase::database(dbName);
- CHECK_DATABASE(db);
-
- QString tablename = qTableName("relTEST1");
- //check that we can get primary index using unquoted mixed case table name
- QSqlIndex index = db.driver()->primaryIndex(tablename);
- QCOMPARE(index.count(), 1);
-
- if( db.driverName().startsWith("QIBASE") || db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2"))
- QCOMPARE(index.fieldName(0), QString::fromLatin1("ID"));
- else
- QCOMPARE(index.fieldName(0), QString::fromLatin1("id"));
-
-
- //check that we can get the primary index using a quoted tablename
- if( db.driverName().startsWith("QIBASE") || db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2"))
- tablename = tablename.toUpper();
- else if (db.driverName().startsWith("QPSQL"))
- tablename = tablename.toLower();
-
- index = db.driver()->primaryIndex(db.driver()->escapeIdentifier(tablename, QSqlDriver::TableName));
- QCOMPARE(index.count(), 1);
- if( db.driverName().startsWith("QIBASE") || db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2"))
- QCOMPARE(index.fieldName(0), QString::fromLatin1("ID"));
- else
- QCOMPARE(index.fieldName(0), QString::fromLatin1("id"));
-
-
-
- //check that we can not get the primary index using a quoted but incorrect table name casing
- if( db.driverName().startsWith("QIBASE") || db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2"))
- tablename = tablename.toLower();
- else if (db.driverName().startsWith("QPSQL"))
- tablename = tablename.toUpper();
-
- index = db.driver()->primaryIndex(db.driver()->escapeIdentifier(tablename, QSqlDriver::TableName));
- if (db.driverName().startsWith("QMYSQL") || db.driverName().startsWith("QSQLITE") || db.driverName().startsWith("QTDS"))
- QCOMPARE(index.count(), 1); //mysql will always find the table name regardless of casing
- else
- QCOMPARE(index.count(), 0);
-}
-
-QTEST_MAIN(tst_QSqlDriver)
-#include "tst_qsqldriver.moc"
diff --git a/tests/auto/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp b/tests/auto/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
index bb2cddd..76785c3 100644
--- a/tests/auto/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
+++ b/tests/auto/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
@@ -82,10 +82,6 @@ private slots:
void insertRecordDuplicateFieldNames();
void invalidData();
void relationModel();
- void casing();
- void escapedRelations();
- void escapedTableName();
- void whiteSpaceInIdentifiers();
};
@@ -107,9 +103,7 @@ void tst_QSqlRelationalTableModel::recreateTestTables(QSqlDatabase db)
<< qTableName( "reltest2" )
<< qTableName( "reltest3" )
<< qTableName( "reltest4" )
- << qTableName( "reltest5" )
- << db.driver()->escapeIdentifier(qTableName( "rel test6" ), QSqlDriver::TableName)
- << db.driver()->escapeIdentifier(qTableName( "rel test7" ), QSqlDriver::TableName);
+ << qTableName( "reltest5" );
tst_Databases::safeDropTables( db, tableNames );
QVERIFY_SQL( q, exec("create table " + qTableName("reltest1") +
@@ -134,19 +128,6 @@ void tst_QSqlRelationalTableModel::recreateTestTables(QSqlDatabase db)
QVERIFY_SQL( q, exec("create table " + qTableName("reltest5") + " (title varchar(20) not null primary key, abbrev varchar(20))"));
QVERIFY_SQL( q, exec("insert into " + qTableName("reltest5") + " values('herr', 'Hr')"));
QVERIFY_SQL( q, exec("insert into " + qTableName("reltest5") + " values('mister', 'Mr')"));
-
- if (testWhiteSpaceNames(db.driverName())) {
- QString reltest6 = db.driver()->escapeIdentifier(qTableName("rel test6"), QSqlDriver::TableName);
- QVERIFY_SQL( q, exec("create table " + reltest6 + " (id int not null primary key, " + db.driver()->escapeIdentifier("city key", QSqlDriver::FieldName) +
- " int, " + db.driver()->escapeIdentifier("extra field", QSqlDriver::FieldName) + " int)"));
- QVERIFY_SQL( q, exec("insert into " + reltest6 + " values(1, 1,9)"));
- QVERIFY_SQL( q, exec("insert into " + reltest6 + " values(2, 2,8)"));
-
- QString reltest7 = db.driver()->escapeIdentifier(qTableName("rel test7"), QSqlDriver::TableName);
- QVERIFY_SQL( q, exec("create table " + reltest7 + " (" + db.driver()->escapeIdentifier("city id", QSqlDriver::TableName) + " int not null primary key, " + db.driver()->escapeIdentifier("city name", QSqlDriver::FieldName) + " varchar(20))"));
- QVERIFY_SQL( q, exec("insert into " + reltest7 + " values(1, 'New York')"));
- QVERIFY_SQL( q, exec("insert into " + reltest7 + " values(2, 'Washington')"));
- }
}
void tst_QSqlRelationalTableModel::initTestCase()
@@ -161,14 +142,10 @@ void tst_QSqlRelationalTableModel::cleanupTestCase()
tableNames << qTableName( "reltest1" )
<< qTableName( "reltest2" )
<< qTableName( "reltest3" )
- << qTableName( "reltest4" )
- << qTableName( "reltest5" );
+ << qTableName( "reltest4" );
foreach (const QString &dbName, dbs.dbNames) {
QSqlDatabase db = QSqlDatabase::database(dbName);
- QStringList tables = tableNames;
- tables << db.driver()->escapeIdentifier(qTableName( "rel test6" ), QSqlDriver::TableName)
- << db.driver()->escapeIdentifier(qTableName( "rel test7" ), QSqlDriver::TableName);
- tst_Databases::safeDropTables( db, tables );
+ tst_Databases::safeDropTables( db, tableNames );
}
dbs.close();
}
@@ -296,12 +273,7 @@ void tst_QSqlRelationalTableModel::setData()
model.setTable(qTableName("reltest1"));
model.setRelation(2, QSqlRelation(qTableName("reltest2"), "tid", "title"));
-
- //sybase doesn't allow tables with the same alias used twice as col names
- //so don't set up an identical relation when using the tds driver
- if (!db.driverName().startsWith("QTDS"))
- model.setRelation(3, QSqlRelation(qTableName("reltest2"), "tid", "title"));
-
+ model.setRelation(3, QSqlRelation(qTableName("reltest2"), "tid", "title"));
model.setEditStrategy(QSqlTableModel::OnManualSubmit);
model.setSort(0, Qt::AscendingOrder);
QVERIFY_SQL(model, select());
@@ -312,10 +284,7 @@ void tst_QSqlRelationalTableModel::setData()
QCOMPARE(model.data(model.index(2, 1)).toString(), QString("vohi2"));
QCOMPARE(model.data(model.index(3, 2)).toString(), QString("herr"));
- if (!db.driverName().startsWith("QTDS"))
- QCOMPARE(model.data(model.index(0, 3)).toString(), QString("herr"));
- else
- QCOMPARE(model.data(model.index(0, 3)).toInt(), 1);
+ QCOMPARE(model.data(model.index(0, 3)).toString(), QString("herr"));
QVERIFY_SQL(model, submitAll());
}
@@ -330,15 +299,10 @@ void tst_QSqlRelationalTableModel::setData()
QCOMPARE(model.data(model.index(0, 3)).toInt(), 1);
model.setRelation(2, QSqlRelation(qTableName("reltest2"), "tid", "title"));
- if (!db.driverName().startsWith("QTDS"))
- model.setRelation(3, QSqlRelation(qTableName("reltest2"), "tid", "title"));
+ model.setRelation(3, QSqlRelation(qTableName("reltest2"), "tid", "title"));
QVERIFY_SQL(model, select());
QCOMPARE(model.data(model.index(3, 2)).toString(), QString("herr"));
-
- if (!db.driverName().startsWith("QTDS"))
- QCOMPARE(model.data(model.index(0, 3)).toString(), QString("herr"));
- else
- QCOMPARE(model.data(model.index(0, 3)).toInt(), 1);
+ QCOMPARE(model.data(model.index(0, 3)).toString(), QString("herr"));
}
//check setting of data when the relational key is a non-integer type
@@ -372,8 +336,7 @@ void tst_QSqlRelationalTableModel::multipleRelation()
model.setTable(qTableName("reltest1"));
model.setRelation(2, QSqlRelation(qTableName("reltest2"), "tid", "title"));
- model.setRelation(3, QSqlRelation(qTableName("reltest4"), "id", "name"));
- model.setSort(0, Qt::AscendingOrder);
+ model.setRelation(3, QSqlRelation(qTableName("reltest2"), "tid", "title"));
QVERIFY_SQL(model, select());
QCOMPARE(model.data(model.index(2, 0)).toInt(), 3);
@@ -381,7 +344,7 @@ void tst_QSqlRelationalTableModel::multipleRelation()
QCOMPARE(model.data(model.index(0, 0)).toInt(), 1);
QCOMPARE(model.data(model.index(0, 1)).toString(), QString("harry"));
QCOMPARE(model.data(model.index(0, 2)).toString(), QString("herr"));
- QCOMPARE(model.data(model.index(0, 3)).toString(), QString("Trondheim"));
+ QCOMPARE(model.data(model.index(0, 3)).toString(), QString("mister"));
}
void tst_QSqlRelationalTableModel::insertRecord()
@@ -394,7 +357,6 @@ void tst_QSqlRelationalTableModel::insertRecord()
model.setTable(qTableName("reltest1"));
model.setRelation(2, QSqlRelation(qTableName("reltest2"), "tid", "title"));
- model.setSort(0, Qt::AscendingOrder);
QVERIFY_SQL(model, select());
QSqlRecord rec;
@@ -436,7 +398,6 @@ void tst_QSqlRelationalTableModel::setRecord()
model.setTable(qTableName("reltest1"));
model.setRelation(2, QSqlRelation(qTableName("reltest2"), "tid", "title"));
- model.setSort(0, Qt::AscendingOrder);
QVERIFY_SQL(model, select());
QSqlRecord rec;
@@ -489,18 +450,13 @@ void tst_QSqlRelationalTableModel::insertWithStrategies()
model.setTable(qTableName("reltest1"));
model.setRelation(2, QSqlRelation(qTableName("reltest2"), "tid", "title"));
-
- if (!db.driverName().startsWith("QTDS"))
- model.setRelation(3, QSqlRelation(qTableName("reltest2"), "tid", "title"));
+ model.setRelation(3, QSqlRelation(qTableName("reltest2"), "tid", "title"));
QVERIFY_SQL(model, select());
QCOMPARE(model.data(model.index(0,0)).toInt(), 1);
QCOMPARE(model.data(model.index(0,1)).toString(), QString("harry"));
QCOMPARE(model.data(model.index(0,2)).toString(), QString("herr"));
- if (!db.driverName().startsWith("QTDS"))
- QCOMPARE(model.data(model.index(0,3)).toString(), QString("mister"));
- else
- QCOMPARE(model.data(model.index(0,3)).toInt(), 2);
+ QCOMPARE(model.data(model.index(0,3)).toString(), QString("mister"));
model.insertRows(0, 1);
model.setData(model.index(0, 0), 1011);
@@ -511,20 +467,12 @@ void tst_QSqlRelationalTableModel::insertWithStrategies()
QCOMPARE(model.data(model.index(0,0)).toInt(), 1011);
QCOMPARE(model.data(model.index(0,1)).toString(), QString("test"));
QCOMPARE(model.data(model.index(0,2)).toString(), QString("mister"));
- if (!db.driverName().startsWith("QTDS"))
- QCOMPARE(model.data(model.index(0,3)).toString(), QString("herr"));
- else
- QCOMPARE(model.data(model.index(0,3)).toInt(), 1);
+ QCOMPARE(model.data(model.index(0,3)).toString(), QString("herr"));
QCOMPARE(model.data(model.index(1,0)).toInt(), 1);
QCOMPARE(model.data(model.index(1,1)).toString(), QString("harry"));
QCOMPARE(model.data(model.index(1,2)).toString(), QString("herr"));
- if (!db.driverName().startsWith("QTDS"))
- QCOMPARE(model.data(model.index(1,3)).toString(), QString("mister"));
- else
- QCOMPARE(model.data(model.index(1,3)).toInt(), 2);
-
-
+ QCOMPARE(model.data(model.index(1,3)).toString(), QString("mister"));
QVERIFY_SQL(model, submitAll());
@@ -533,16 +481,9 @@ void tst_QSqlRelationalTableModel::insertWithStrategies()
QCOMPARE(model.data(model.index(0,0)).toInt(), 1);
QCOMPARE(model.data(model.index(0,1)).toString(), QString("harry"));
QCOMPARE(model.data(model.index(0,2)).toString(), QString("herr"));
-
- if (!db.driverName().startsWith("QTDS")) {
- QCOMPARE(model.data(model.index(0,3)).toString(), QString("mister"));
- model.setData(model.index(0,3),1);
- QCOMPARE(model.data(model.index(0,3)).toString(), QString("herr"));
- } else {
- QCOMPARE(model.data(model.index(0,3)).toInt(), 2);
- model.setData(model.index(0,3),1);
- QCOMPARE(model.data(model.index(0,3)).toInt(), 1);
- }
+ QCOMPARE(model.data(model.index(0,3)).toString(), QString("mister"));
+ model.setData(model.index(0,3),1);
+ QCOMPARE(model.data(model.index(0,3)).toString(), QString("herr"));
model.insertRows(0, 2);
model.setData(model.index(0, 0), 1012);
@@ -558,27 +499,17 @@ void tst_QSqlRelationalTableModel::insertWithStrategies()
QCOMPARE(model.data(model.index(0,0)).toInt(),1012);
QCOMPARE(model.data(model.index(0,1)).toString(), QString("george"));
QCOMPARE(model.data(model.index(0,2)).toString(), QString("mister"));
- if (!db.driverName().startsWith("QTDS"))
- QCOMPARE(model.data(model.index(0,3)).toString(), QString("mister"));
- else
- QCOMPARE(model.data(model.index(0,3)).toInt(), 2);
-
+ QCOMPARE(model.data(model.index(0,3)).toString(), QString("mister"));
QCOMPARE(model.data(model.index(1,0)).toInt(),1013);
QCOMPARE(model.data(model.index(1,1)).toString(), QString("kramer"));
QCOMPARE(model.data(model.index(1,2)).toString(), QString("mister"));
- if (!db.driverName().startsWith("QTDS"))
- QCOMPARE(model.data(model.index(1,3)).toString(), QString("herr"));
- else
- QCOMPARE(model.data(model.index(1,3)).toInt(), 1);
+ QCOMPARE(model.data(model.index(1,3)).toString(), QString("herr"));
QCOMPARE(model.data(model.index(2,0)).toInt(), 1);
QCOMPARE(model.data(model.index(2,1)).toString(), QString("harry"));
QCOMPARE(model.data(model.index(2,2)).toString(), QString("herr"));
- if (!db.driverName().startsWith("QTDS"))
- QCOMPARE(model.data(model.index(2,3)).toString(), QString("herr"));
- else
- QCOMPARE(model.data(model.index(2,3)).toInt(), 1);
+ QCOMPARE(model.data(model.index(2,3)).toString(), QString("herr"));
QVERIFY_SQL(model, submitAll());
}
@@ -643,8 +574,7 @@ void tst_QSqlRelationalTableModel::sort()
model.setTable(qTableName("reltest1"));
model.setRelation(2, QSqlRelation(qTableName("reltest2"), "tid", "title"));
- if (!db.driverName().startsWith("QTDS"))
- model.setRelation(3, QSqlRelation(qTableName("reltest2"), "tid", "title"));
+ model.setRelation(3, QSqlRelation(qTableName("reltest2"), "tid", "title"));
model.setSort(2, Qt::DescendingOrder);
QVERIFY_SQL(model, select());
@@ -659,19 +589,11 @@ void tst_QSqlRelationalTableModel::sort()
model.setSort(3, Qt::AscendingOrder);
QVERIFY_SQL(model, select());
- if (!db.driverName().startsWith("QTDS")) {
- QCOMPARE(model.rowCount(), 4);
- QCOMPARE(model.data(model.index(0, 3)).toString(), QString("herr"));
- QCOMPARE(model.data(model.index(1, 3)).toString(), QString("mister"));
- QCOMPARE(model.data(model.index(2, 3)).toString(), QString("mister"));
- QCOMPARE(model.data(model.index(3, 3)).toString(), QString("mister"));
- } else {
- QCOMPARE(model.data(model.index(0, 3)).toInt(), 1);
- QCOMPARE(model.data(model.index(1, 3)).toInt(), 2);
- QCOMPARE(model.data(model.index(2, 3)).toInt(), 2);
- QCOMPARE(model.data(model.index(3, 3)).toInt(), 2);
- }
-
+ QCOMPARE(model.rowCount(), 4);
+ QCOMPARE(model.data(model.index(0, 3)).toString(), QString("herr"));
+ QCOMPARE(model.data(model.index(1, 3)).toString(), QString("mister"));
+ QCOMPARE(model.data(model.index(2, 3)).toString(), QString("mister"));
+ QCOMPARE(model.data(model.index(3, 3)).toString(), QString("mister"));
}
static void testRevert(QSqlRelationalTableModel &model)
@@ -741,7 +663,7 @@ void tst_QSqlRelationalTableModel::revert()
model.setTable(qTableName("reltest1"));
model.setRelation(2, QSqlRelation(qTableName("reltest2"), "tid", "title"));
- model.setRelation(3, QSqlRelation(qTableName("reltest4"), "id", "name"));
+ model.setRelation(3, QSqlRelation(qTableName("reltest2"), "tid", "title"));
model.setSort(0, Qt::AscendingOrder);
@@ -767,9 +689,7 @@ void tst_QSqlRelationalTableModel::clearDisplayValuesCache()
model.setTable(qTableName("reltest1"));
model.setRelation(2, QSqlRelation(qTableName("reltest2"), "tid", "title"));
-
- if (!db.driverName().startsWith("QTDS"))
- model.setRelation(3, QSqlRelation(qTableName("reltest2"), "tid", "title"));
+ model.setRelation(3, QSqlRelation(qTableName("reltest2"), "tid", "title"));
model.setSort(1, Qt::AscendingOrder);
model.setEditStrategy(QSqlTableModel::OnManualSubmit);
@@ -778,10 +698,7 @@ void tst_QSqlRelationalTableModel::clearDisplayValuesCache()
QCOMPARE(model.data(model.index(3, 0)).toInt(), 3);
QCOMPARE(model.data(model.index(3, 1)).toString(), QString("vohi"));
QCOMPARE(model.data(model.index(3, 2)).toString(), QString("herr"));
- if (!db.driverName().startsWith("QTDS"))
- QCOMPARE(model.data(model.index(3, 3)).toString(), QString("mister"));
- else
- QCOMPARE(model.data(model.index(3, 3)).toInt(), 2 );
+ QCOMPARE(model.data(model.index(3, 3)).toString(), QString("mister"));
model.insertRow(model.rowCount());
QVERIFY(model.setData(model.index(4, 0), 5, Qt::EditRole));
@@ -793,18 +710,11 @@ void tst_QSqlRelationalTableModel::clearDisplayValuesCache()
QCOMPARE(model.data(model.index(0, 0)).toInt(), 5);
QCOMPARE(model.data(model.index(0, 1)).toString(), QString("anders"));
QCOMPARE(model.data(model.index(0, 2)).toString(), QString("herr"));
- if (!db.driverName().startsWith("QTDS"))
- QCOMPARE(model.data(model.index(0, 3)).toString(), QString("herr"));
- else
- QCOMPARE(model.data(model.index(0, 3)).toInt(), 1);
-
+ QCOMPARE(model.data(model.index(0, 3)).toString(), QString("herr"));
QCOMPARE(model.data(model.index(4, 0)).toInt(), 3);
QCOMPARE(model.data(model.index(4, 1)).toString(), QString("vohi"));
QCOMPARE(model.data(model.index(4, 2)).toString(), QString("herr"));
- if (!db.driverName().startsWith("QTDS"))
- QCOMPARE(model.data(model.index(4, 3)).toString(), QString("mister"));
- else
- QCOMPARE(model.data(model.index(4, 3)).toInt(), 2);
+ QCOMPARE(model.data(model.index(4, 3)).toString(), QString("mister"));
}
// For task 140782 and 176374: If the main table and the the related tables uses the same
@@ -819,38 +729,27 @@ void tst_QSqlRelationalTableModel::insertRecordDuplicateFieldNames()
QSqlRelationalTableModel model(0, db);
model.setTable(qTableName("reltest3"));
model.setEditStrategy(QSqlTableModel::OnManualSubmit);
- model.setSort(0, Qt::AscendingOrder);
// Duplication of "name", used in both reltest3 and reltest4.
model.setRelation(2, QSqlRelation(qTableName("reltest4"), "id", "name"));
QVERIFY_SQL(model, select());
- if (db.driverName().startsWith("QIBASE") || db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2")) {
- QCOMPARE(model.record(1).value(qTableName("reltest4").append(QLatin1String("_name")).toUpper()).toString(),
- QString("Trondheim"));
- } else {
- QCOMPARE(model.record(1).value(qTableName("reltest4").append(QLatin1String("_name"))).toString(),
+ QCOMPARE(model.record(1).value(qTableName("reltest4").append(QLatin1String("_name"))).toString(),
QString("Trondheim"));
- }
QSqlRecord rec = model.record();
rec.setValue(0, 3);
rec.setValue(1, "Berge");
rec.setValue(2, 1); // Must insert the key value
- if (db.driverName().startsWith("QIBASE") || db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2")) {
- QCOMPARE(rec.fieldName(0), QLatin1String("ID"));
- QCOMPARE(rec.fieldName(1), QLatin1String("NAME")); // This comes from main table
- } else {
- QCOMPARE(rec.fieldName(0), QLatin1String("id"));
- QCOMPARE(rec.fieldName(1), QLatin1String("name"));
- }
+ QCOMPARE(rec.fieldName(0), QLatin1String("id"));
+ QCOMPARE(rec.fieldName(1), QLatin1String("name")); // This comes from main table
// The duplicate field names is aliased because it's comes from the relation's display column.
- if(db.driverName().startsWith("QIBASE") || db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2"))
- QCOMPARE(rec.fieldName(2), (qTableName("reltest4").append(QLatin1String("_name"))).toUpper());
- else
+ if(!db.driverName().startsWith("QIBASE"))
QCOMPARE(rec.fieldName(2), qTableName("reltest4").append(QLatin1String("_name")));
+ else
+ QCOMPARE(rec.fieldName(2), (qTableName("reltest4").append(QLatin1String("_name"))).toUpper());
QVERIFY(model.insertRecord(-1, rec));
QCOMPARE(model.data(model.index(2, 2)).toString(), QString("Oslo"));
@@ -894,7 +793,7 @@ void tst_QSqlRelationalTableModel::relationModel()
QVERIFY(model.relationModel(3) == NULL);
QVERIFY(model.relationModel(4) == NULL);
- model.setRelation(3, QSqlRelation(qTableName("reltest4"), "id", "name"));
+ model.setRelation(3, QSqlRelation(qTableName("reltest2"), "tid", "title"));
QVERIFY_SQL(model, select());
QVERIFY(model.relationModel(0) == NULL);
@@ -907,285 +806,5 @@ void tst_QSqlRelationalTableModel::relationModel()
QCOMPARE(rel_model->data(rel_model->index(0,1)).toString(), QString("herr"));
}
-void tst_QSqlRelationalTableModel::casing()
-{
- QFETCH_GLOBAL(QString, dbName);
- QSqlDatabase db = QSqlDatabase::database(dbName);
- CHECK_DATABASE(db);
-
- if (db.driverName().startsWith("QSQLITE"))
- QSKIP("The casing test for SQLITE is irrelevant since SQLITE is case insensitive", SkipAll);
-
- QStringList tableNames;
- tableNames << qTableName("CASETEST1", db.driver()).toUpper();
- tableNames << qTableName("casetest1", db.driver());
- tst_Databases::safeDropTables(db, tableNames);
-
- QSqlQuery q(db);
- QVERIFY_SQL( q, exec("create table " + qTableName("CASETEST1", db.driver()).toUpper() +
- " (id int not null primary key, name varchar(20), title_key int, another_title_key int)"));
- QVERIFY_SQL( q, exec("insert into " + qTableName("CASETEST1", db.driver()).toUpper() + " values(1, 'harry', 1, 2)"));
- QVERIFY_SQL( q, exec("insert into " + qTableName("CASETEST1", db.driver()).toUpper() + " values(2, 'trond', 2, 1)"));
- QVERIFY_SQL( q, exec("insert into " + qTableName("CASETEST1", db.driver()).toUpper() + " values(3, 'vohi', 1, 2)"));
- QVERIFY_SQL( q, exec("insert into " + qTableName("CASETEST1", db.driver()).toUpper() + " values(4, 'boris', 2, 2)"));
-
- QVERIFY_SQL( q, exec("create table " + qTableName("casetest1", db.driver()) +
- " (ident int not null primary key, name varchar(20), title_key int)"));
- QVERIFY_SQL( q, exec("insert into " + qTableName("casetest1", db.driver()) + " values(1, 'jerry', 1)"));
- QVERIFY_SQL( q, exec("insert into " + qTableName("casetest1", db.driver()) + " values(2, 'george', 2)"));
- QVERIFY_SQL( q, exec("insert into " + qTableName("casetest1", db.driver()) + " values(4, 'kramer', 2)"));
-
- if (db.driverName().startsWith("QOCI")) {
- //try an owner that doesn't exist
- QSqlRecord rec = db.driver()->record("doug." + qTableName("CASETEST1", db.driver()).toUpper());
- QCOMPARE( rec.count(), 0);
-
- //try an owner that does exist
- rec = db.driver()->record(db.userName() + "." + qTableName("CASETEST1", db.driver()).toUpper());
- QCOMPARE( rec.count(), 4);
- }
- QSqlRecord rec = db.driver()->record(qTableName("CASETEST1", db.driver()).toUpper());
- QCOMPARE( rec.count(), 4);
-
- rec = db.driver()->record(qTableName("casetest1", db.driver()));
- QCOMPARE( rec.count(), 3);
-
- QSqlTableModel upperCaseModel(0, db);
- upperCaseModel.setTable(qTableName("CASETEST1", db.driver()).toUpper());
-
- QCOMPARE(upperCaseModel.tableName(),qTableName("CASETEST1",db.driver()).toUpper());
-
- QVERIFY_SQL(upperCaseModel, select());
-
- QCOMPARE(upperCaseModel.rowCount(), 4);
-
- QSqlTableModel lowerCaseModel(0, db);
- lowerCaseModel.setTable(qTableName("casetest1", db.driver()));
- QCOMPARE(lowerCaseModel.tableName(), qTableName("casetest1",db.driver()));
- QVERIFY_SQL(lowerCaseModel, select());
-
- QCOMPARE(lowerCaseModel.rowCount(), 3);
-
- QSqlRelationalTableModel model(0, db);
- model.setTable(qTableName("CASETEST1", db.driver()).toUpper());
- model.setRelation(2, QSqlRelation(qTableName("reltest2"), "tid", "title"));
- QVERIFY_SQL(model, select());
-
- QCOMPARE(model.data(model.index(0, 0)).toInt(), 1);
- QCOMPARE(model.data(model.index(0, 1)).toString(), QString("harry"));
- QCOMPARE(model.data(model.index(0, 2)).toString(), QString("herr"));
-
- tst_Databases::safeDropTables(db, tableNames);
-}
-
-void tst_QSqlRelationalTableModel::escapedRelations()
-{
- QFETCH_GLOBAL(QString, dbName);
- QSqlDatabase db = QSqlDatabase::database(dbName);
- CHECK_DATABASE(db);
- recreateTestTables(db);
-
- QSqlRelationalTableModel model(0, db);
- model.setTable(qTableName("reltest1"));
-
- //try with relation table name quoted
- if (db.driverName().startsWith("QIBASE") || db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2")) {
- model.setRelation(2, QSqlRelation(db.driver()->escapeIdentifier(qTableName("reltest2").toUpper(),QSqlDriver::TableName),
- "tid",
- "title"));
- } else {
- model.setRelation(2, QSqlRelation(db.driver()->escapeIdentifier(qTableName("reltest2"),QSqlDriver::TableName),
- "tid",
- "title"));
-
- }
- QVERIFY_SQL(model, select());
-
- QCOMPARE(model.data(model.index(0, 0)).toInt(), 1);
- QCOMPARE(model.data(model.index(0, 1)).toString(), QString("harry"));
- QCOMPARE(model.data(model.index(0, 2)).toString(), QString("herr"));
-
- //try with index column quoted
- if (db.driverName().startsWith("QIBASE") || db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2")) {
- model.setRelation(2, QSqlRelation(qTableName("reltest2"),
- db.driver()->escapeIdentifier("tid", QSqlDriver::FieldName).toUpper(),
- "title"));
- } else {
- model.setRelation(2, QSqlRelation(qTableName("reltest2"),
- db.driver()->escapeIdentifier("tid", QSqlDriver::FieldName),
- "title"));
- }
- QVERIFY_SQL(model, select());
-
- QCOMPARE(model.data(model.index(0, 0)).toInt(), 1);
- QCOMPARE(model.data(model.index(0, 1)).toString(), QString("harry"));
- QCOMPARE(model.data(model.index(0, 2)).toString(), QString("herr"));
-
- //try with display column quoted
-
- if (db.driverName().startsWith("QIBASE") || db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2")) {
-
- model.setRelation(2, QSqlRelation(qTableName("reltest2"),
- "tid",
- db.driver()->escapeIdentifier("title", QSqlDriver::FieldName).toUpper()));
- } else {
- model.setRelation(2, QSqlRelation(qTableName("reltest2"),
- "tid",
- db.driver()->escapeIdentifier("title", QSqlDriver::FieldName)));
- }
-
- QVERIFY_SQL(model, select());
-
- QCOMPARE(model.data(model.index(0, 0)).toInt(), 1);
- QCOMPARE(model.data(model.index(0, 1)).toString(), QString("harry"));
- QCOMPARE(model.data(model.index(0, 2)).toString(), QString("herr"));
-
- //try with tablename and index and display columns quoted in the relation
-
- if (db.driverName().startsWith("QIBASE") || db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2")) {
- model.setRelation(2, QSqlRelation(qTableName("reltest2"),
- "tid",
- db.driver()->escapeIdentifier("title", QSqlDriver::FieldName).toUpper()));
- } else {
- model.setRelation(2, QSqlRelation(qTableName("reltest2"),
- "tid",
- db.driver()->escapeIdentifier("title", QSqlDriver::FieldName)));
- }
- QVERIFY_SQL(model, select());
-
- QCOMPARE(model.data(model.index(0, 0)).toInt(), 1);
- QCOMPARE(model.data(model.index(0, 1)).toString(), QString("harry"));
- QCOMPARE(model.data(model.index(0, 2)).toString(), QString("herr"));
-}
-
-void tst_QSqlRelationalTableModel::escapedTableName()
-{
- QFETCH_GLOBAL(QString, dbName);
- QSqlDatabase db = QSqlDatabase::database(dbName);
- CHECK_DATABASE(db);
-
- // set the values using OnRowChange Strategy with an escaped tablename
- {
- QSqlRelationalTableModel model(0, db);
-
- if (db.driverName().startsWith("QIBASE") || db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2")) {
- model.setTable(db.driver()->escapeIdentifier(qTableName("reltest1").toUpper(), QSqlDriver::TableName));
- } else {
- model.setTable(db.driver()->escapeIdentifier(qTableName("reltest1"), QSqlDriver::TableName));
- }
- model.setSort(0, Qt::AscendingOrder);
- model.setRelation(2, QSqlRelation(qTableName("reltest2"), "tid", "title"));
- QVERIFY_SQL(model, select());
-
- QVERIFY(model.setData(model.index(0, 1), QString("harry2")));
- QVERIFY(model.setData(model.index(0, 2), 2));
-
- QCOMPARE(model.data(model.index(0, 1)).toString(), QString("harry2"));
- QCOMPARE(model.data(model.index(0, 2)).toString(), QString("mister"));
-
- model.submit();
-
- QVERIFY(model.setData(model.index(3,1), QString("boris2")));
- QVERIFY(model.setData(model.index(3, 2), 1));
-
- QCOMPARE(model.data(model.index(3,1)).toString(), QString("boris2"));
- QCOMPARE(model.data(model.index(3, 2)).toString(), QString("herr"));
-
- model.submit();
- }
- { //verify values
- QSqlRelationalTableModel model(0, db);
- model.setTable(qTableName("reltest1"));
- model.setSort(0, Qt::AscendingOrder);
- QVERIFY_SQL(model, select());
-
- QCOMPARE(model.data(model.index(0, 1)).toString(), QString("harry2"));
- QCOMPARE(model.data(model.index(0, 2)).toInt(), 2);
- QCOMPARE(model.data(model.index(3, 1)).toString(), QString("boris2"));
- QCOMPARE(model.data(model.index(3, 2)).toInt(), 1);
-
- model.setRelation(2, QSqlRelation(qTableName("reltest2"), "tid", "title"));
- QVERIFY_SQL(model, select());
- QCOMPARE(model.data(model.index(0, 2)).toString(), QString("mister"));
- QCOMPARE(model.data(model.index(3,2)).toString(), QString("herr"));
-
- }
-}
-
-void tst_QSqlRelationalTableModel::whiteSpaceInIdentifiers() {
-
- QFETCH_GLOBAL(QString, dbName);
- QSqlDatabase db = QSqlDatabase::database(dbName);
- CHECK_DATABASE(db);
-
- if (!testWhiteSpaceNames(db.driverName()))
- QSKIP("White space test irrelevant for driver", SkipAll);
- QSqlRelationalTableModel model(0, db);
- model.setTable(db.driver()->escapeIdentifier(qTableName("rel test6"), QSqlDriver::TableName));
- model.setSort(0, Qt::DescendingOrder);
- model.setRelation(1, QSqlRelation(db.driver()->escapeIdentifier(qTableName("rel test7"), QSqlDriver::TableName),
- db.driver()->escapeIdentifier("city id", QSqlDriver::FieldName),
- db.driver()->escapeIdentifier("city name", QSqlDriver::FieldName)));
- QVERIFY_SQL(model, select());
-
- QCOMPARE(model.data(model.index(0,1)).toString(), QString("Washington"));
- QCOMPARE(model.data(model.index(1,1)).toString(), QString("New York"));
-
- QSqlRecord rec;
- QSqlField f1("id", QVariant::Int);
- QSqlField f2(db.driver()->escapeIdentifier("city key", QSqlDriver::FieldName), QVariant::Int);
- QSqlField f3(db.driver()->escapeIdentifier("extra field", QSqlDriver::FieldName), QVariant::Int);
-
- f1.setValue(3);
- f2.setValue(2);
- f3.setValue(7);
-
- f1.setGenerated(true);
- f2.setGenerated(true);
- f3.setGenerated(true);
-
- rec.append(f1);
- rec.append(f2);
- rec.append(f3);
-
- QVERIFY_SQL(model, insertRecord(-1, rec));
- model.submitAll();
-
- QCOMPARE(model.data(model.index(0, 0)).toInt(), 3);
- QCOMPARE(model.data(model.index(0, 1)).toString(), QString("Washington"));
- QCOMPARE(model.data(model.index(0, 2)).toInt(), 7);
-
- //TODO: For some reson setting a record using manual submit fails
- //model.setEditStrategy(QSqlTableModel::OnManualSubmit);
-
- QSqlRecord recNew;
- QSqlField f1New("id", QVariant::Int);
- QSqlField f2New(db.driver()->escapeIdentifier("city key", QSqlDriver::FieldName), QVariant::Int);
- QSqlField f3New(db.driver()->escapeIdentifier("extra field", QSqlDriver::FieldName), QVariant::Int);
-
- f1New.setValue(4);
- f2New.setValue(1);
- f3New.setValue(6);
-
- f1New.setGenerated(true);
- f2New.setGenerated(true);
- f3New.setGenerated(true);
-
- recNew.append(f1New);
- recNew.append(f2New);
- recNew.append(f3New);
-
- QVERIFY_SQL(model, setRecord(0, recNew));
-
- QCOMPARE(model.data(model.index(0, 0)).toInt(), 4);
- QCOMPARE(model.data(model.index(0, 1)).toString(), QString("New York"));
- QCOMPARE(model.data(model.index(0, 2)).toInt(), 6);
-
- QVERIFY_SQL(model, submitAll());
- QCOMPARE(model.data(model.index(0, 0)).toInt(), 4);
- QCOMPARE(model.data(model.index(0, 1)).toString(), QString("New York"));
- QCOMPARE(model.data(model.index(0, 2)).toInt(), 6);
-}
-
QTEST_MAIN(tst_QSqlRelationalTableModel)
#include "tst_qsqlrelationaltablemodel.moc"
diff --git a/tests/auto/qsqltablemodel/tst_qsqltablemodel.cpp b/tests/auto/qsqltablemodel/tst_qsqltablemodel.cpp
index 0e7355e..d4affe4 100644
--- a/tests/auto/qsqltablemodel/tst_qsqltablemodel.cpp
+++ b/tests/auto/qsqltablemodel/tst_qsqltablemodel.cpp
@@ -145,7 +145,7 @@ void tst_QSqlTableModel::dropTestTables()
<< qTableName("bigtable")
<< qTableName("foo");
if (testWhiteSpaceNames(db.driverName()))
- tableNames << qTableName("qtestw hitespace", db.driver());
+ tableNames << qTableName("qtestw hitespace");
tst_Databases::safeDropTables(db, tableNames);
@@ -277,7 +277,6 @@ void tst_QSqlTableModel::setRecord()
QList<QSqlTableModel::EditStrategy> policies = QList<QSqlTableModel::EditStrategy>() << QSqlTableModel::OnFieldChange << QSqlTableModel::OnRowChange << QSqlTableModel::OnManualSubmit;
- QString Xsuffix;
foreach( QSqlTableModel::EditStrategy submitpolicy, policies) {
QSqlTableModel model(0, db);
@@ -296,8 +295,6 @@ void tst_QSqlTableModel::setRecord()
if ((QSqlTableModel::EditStrategy)submitpolicy == QSqlTableModel::OnManualSubmit)
QVERIFY(model.submitAll());
- else if ((QSqlTableModel::EditStrategy)submitpolicy == QSqlTableModel::OnRowChange && i == model.rowCount() -1)
- model.submit();
else {
// dataChanged() is not emitted when submitAll() is called
QCOMPARE(spy.count(), 2);
@@ -307,12 +304,10 @@ void tst_QSqlTableModel::setRecord()
}
}
- Xsuffix.append('X');
-
- QCOMPARE(model.data(model.index(0, 1)).toString(), QString("foo").append(Xsuffix));
- QCOMPARE(model.data(model.index(0, 2)).toString(), QString("bar").append(Xsuffix));
- QCOMPARE(model.data(model.index(1, 1)).toString(), QString("baz").append(Xsuffix));
- QCOMPARE(model.data(model.index(1, 2)).toString(), QString("joe").append(Xsuffix));
+ QCOMPARE(model.data(model.index(0, 1)).toString(), QString("fooX"));
+ QCOMPARE(model.data(model.index(0, 2)).toString(), QString("barX"));
+ QCOMPARE(model.data(model.index(1, 1)).toString(), QString("bazX"));
+ QCOMPARE(model.data(model.index(1, 2)).toString(), QString("joeX"));
}
}