mirror of
https://github.com/crystalidea/qt6windows7.git
synced 2025-07-07 17:50:59 +08:00
qt 6.6.0 clean
This commit is contained in:
@ -155,18 +155,15 @@ void tst_QSqlTableModel::dropTestTables()
|
||||
if (dbType == QSqlDriver::PostgreSQL)
|
||||
QVERIFY_SQL( q, exec("set client_min_messages='warning'"));
|
||||
|
||||
QStringList tableNames;
|
||||
tableNames << qTableName("test1", __FILE__, db)
|
||||
<< qTableName("test2", __FILE__, db)
|
||||
<< qTableName("test3", __FILE__, db)
|
||||
<< qTableName("test4", __FILE__, db)
|
||||
<< qTableName("emptytable", __FILE__, db)
|
||||
<< qTableName("bigtable", __FILE__, db)
|
||||
<< qTableName("foo", __FILE__, db)
|
||||
<< qTableName("pktest", __FILE__, db);
|
||||
if (testWhiteSpaceNames(db.driverName()))
|
||||
tableNames << qTableName("qtestw hitespace", db);
|
||||
|
||||
QStringList tableNames{qTableName("test1", __FILE__, db),
|
||||
qTableName("test2", __FILE__, db),
|
||||
qTableName("test3", __FILE__, db),
|
||||
qTableName("test4", __FILE__, db),
|
||||
qTableName("emptytable", __FILE__, db),
|
||||
qTableName("bigtable", __FILE__, db),
|
||||
qTableName("foo", __FILE__, db),
|
||||
qTableName("pktest", __FILE__, db),
|
||||
qTableName("qtestw hitespace", __FILE__, db)};
|
||||
tst_Databases::safeDropTables(db, tableNames);
|
||||
|
||||
if (db.driverName().startsWith("QPSQL")) {
|
||||
@ -196,10 +193,8 @@ void tst_QSqlTableModel::createTestTables()
|
||||
|
||||
QVERIFY_SQL(q, exec("create table " + qTableName("emptytable", __FILE__, db) + "(id int)"));
|
||||
|
||||
if (testWhiteSpaceNames(db.driverName())) {
|
||||
QString qry = "create table " + qTableName("qtestw hitespace", db) + " ("+ db.driver()->escapeIdentifier("a field", QSqlDriver::FieldName) + " int)";
|
||||
QVERIFY_SQL( q, exec(qry));
|
||||
}
|
||||
const auto fieldStr = db.driver()->escapeIdentifier("a field", QSqlDriver::FieldName);
|
||||
QVERIFY_SQL(q, exec("create table " + qTableName("qtestw hitespace", __FILE__, db) + " ("+ fieldStr + " int)"));
|
||||
|
||||
QVERIFY_SQL(q, exec("create table " + qTableName("pktest", __FILE__, db) + "(id int not null primary key, a varchar(20))"));
|
||||
}
|
||||
@ -430,8 +425,7 @@ void tst_QSqlTableModel::insertColumns()
|
||||
{
|
||||
// Just like the select test, with extra stuff
|
||||
QFETCH(QString, dbName);
|
||||
QFETCH(int, submitpolicy_i);
|
||||
QSqlTableModel::EditStrategy submitpolicy = (QSqlTableModel::EditStrategy) submitpolicy_i;
|
||||
QFETCH(QSqlTableModel::EditStrategy, submitpolicy);
|
||||
QSqlDatabase db = QSqlDatabase::database(dbName);
|
||||
CHECK_DATABASE(db);
|
||||
const auto test = qTableName("test1", __FILE__, db);
|
||||
@ -581,13 +575,13 @@ void tst_QSqlTableModel::setRecord()
|
||||
CHECK_DATABASE(db);
|
||||
const auto test3 = qTableName("test3", __FILE__, db);
|
||||
|
||||
QList<QSqlTableModel::EditStrategy> policies = QList<QSqlTableModel::EditStrategy>() << QSqlTableModel::OnFieldChange << QSqlTableModel::OnRowChange << QSqlTableModel::OnManualSubmit;
|
||||
const auto policies = { QSqlTableModel::OnFieldChange, QSqlTableModel::OnRowChange, QSqlTableModel::OnManualSubmit };
|
||||
|
||||
QString Xsuffix;
|
||||
foreach( QSqlTableModel::EditStrategy submitpolicy, policies) {
|
||||
for (QSqlTableModel::EditStrategy submitpolicy : policies) {
|
||||
|
||||
QSqlTableModel model(0, db);
|
||||
model.setEditStrategy((QSqlTableModel::EditStrategy)submitpolicy);
|
||||
model.setEditStrategy(submitpolicy);
|
||||
model.setTable(test3);
|
||||
model.setSort(0, Qt::AscendingOrder);
|
||||
QVERIFY_SQL(model, select());
|
||||
@ -601,7 +595,7 @@ void tst_QSqlTableModel::setRecord()
|
||||
QVERIFY(model.setRecord(i, rec));
|
||||
|
||||
// dataChanged() emitted by setData() for each *changed* column
|
||||
if ((QSqlTableModel::EditStrategy)submitpolicy == QSqlTableModel::OnManualSubmit) {
|
||||
if (submitpolicy == QSqlTableModel::OnManualSubmit) {
|
||||
QCOMPARE(spy.size(), 2);
|
||||
QCOMPARE(spy.at(0).size(), 2);
|
||||
QCOMPARE(qvariant_cast<QModelIndex>(spy.at(0).at(0)), model.index(i, 1));
|
||||
@ -609,10 +603,10 @@ void tst_QSqlTableModel::setRecord()
|
||||
QCOMPARE(qvariant_cast<QModelIndex>(spy.at(1).at(0)), model.index(i, 2));
|
||||
QCOMPARE(qvariant_cast<QModelIndex>(spy.at(1).at(1)), model.index(i, 2));
|
||||
QVERIFY(model.submitAll());
|
||||
} else if ((QSqlTableModel::EditStrategy)submitpolicy == QSqlTableModel::OnRowChange && i == model.rowCount() -1)
|
||||
} else if (submitpolicy == QSqlTableModel::OnRowChange && i == model.rowCount() -1)
|
||||
model.submit();
|
||||
else {
|
||||
if ((QSqlTableModel::EditStrategy)submitpolicy != QSqlTableModel::OnManualSubmit)
|
||||
if (submitpolicy != QSqlTableModel::OnManualSubmit)
|
||||
// dataChanged() also emitted by selectRow()
|
||||
QCOMPARE(spy.size(), 3);
|
||||
else
|
||||
@ -714,8 +708,7 @@ void tst_QSqlTableModel::recordReimpl()
|
||||
void tst_QSqlTableModel::insertRow()
|
||||
{
|
||||
QFETCH(QString, dbName);
|
||||
QFETCH(int, submitpolicy_i);
|
||||
QSqlTableModel::EditStrategy submitpolicy = (QSqlTableModel::EditStrategy) submitpolicy_i;
|
||||
QFETCH(QSqlTableModel::EditStrategy, submitpolicy);
|
||||
QSqlDatabase db = QSqlDatabase::database(dbName);
|
||||
CHECK_DATABASE(db);
|
||||
const auto test = qTableName("test1", __FILE__, db);
|
||||
@ -824,8 +817,7 @@ void tst_QSqlTableModel::insertRowFailure()
|
||||
{
|
||||
QFETCH(QString, dbName);
|
||||
QSqlDatabase db = QSqlDatabase::database(dbName);
|
||||
QFETCH(int, submitpolicy_i);
|
||||
QSqlTableModel::EditStrategy submitpolicy = (QSqlTableModel::EditStrategy) submitpolicy_i;
|
||||
QFETCH(QSqlTableModel::EditStrategy, submitpolicy);
|
||||
CHECK_DATABASE(db);
|
||||
|
||||
QSqlTableModel model(0, db);
|
||||
@ -974,8 +966,7 @@ void tst_QSqlTableModel::insertMultiRecords()
|
||||
void tst_QSqlTableModel::insertWithAutoColumn()
|
||||
{
|
||||
QFETCH(QString, dbName);
|
||||
QFETCH(int, submitpolicy_i);
|
||||
QSqlTableModel::EditStrategy submitpolicy = (QSqlTableModel::EditStrategy) submitpolicy_i;
|
||||
QFETCH(QSqlTableModel::EditStrategy, submitpolicy);
|
||||
QSqlDatabase db = QSqlDatabase::database(dbName);
|
||||
CHECK_DATABASE(db);
|
||||
|
||||
@ -1197,8 +1188,7 @@ void tst_QSqlTableModel::removeRows()
|
||||
void tst_QSqlTableModel::removeInsertedRow()
|
||||
{
|
||||
QFETCH(QString, dbName);
|
||||
QFETCH(int, submitpolicy_i);
|
||||
QSqlTableModel::EditStrategy submitpolicy = (QSqlTableModel::EditStrategy) submitpolicy_i;
|
||||
QFETCH(QSqlTableModel::EditStrategy, submitpolicy);
|
||||
QSqlDatabase db = QSqlDatabase::database(dbName);
|
||||
CHECK_DATABASE(db);
|
||||
const auto test = qTableName("test1", __FILE__, db);
|
||||
@ -1382,8 +1372,7 @@ void tst_QSqlTableModel::removeInsertedRows()
|
||||
void tst_QSqlTableModel::revert()
|
||||
{
|
||||
QFETCH(QString, dbName);
|
||||
QFETCH(int, submitpolicy_i);
|
||||
QSqlTableModel::EditStrategy submitpolicy = (QSqlTableModel::EditStrategy) submitpolicy_i;
|
||||
QFETCH(QSqlTableModel::EditStrategy, submitpolicy);
|
||||
QSqlDatabase db = QSqlDatabase::database(dbName);
|
||||
CHECK_DATABASE(db);
|
||||
|
||||
@ -1459,8 +1448,7 @@ void tst_QSqlTableModel::revert()
|
||||
void tst_QSqlTableModel::isDirty()
|
||||
{
|
||||
QFETCH(QString, dbName);
|
||||
QFETCH(int, submitpolicy_i);
|
||||
QSqlTableModel::EditStrategy submitpolicy = (QSqlTableModel::EditStrategy) submitpolicy_i;
|
||||
QFETCH(QSqlTableModel::EditStrategy, submitpolicy);
|
||||
QSqlDatabase db = QSqlDatabase::database(dbName);
|
||||
CHECK_DATABASE(db);
|
||||
const auto test = qTableName("test1", __FILE__, db);
|
||||
@ -1665,11 +1653,11 @@ void tst_QSqlTableModel::emptyTable()
|
||||
QCOMPARE(model.columnCount(), 1);
|
||||
|
||||
// QTBUG-29108: check correct horizontal header for empty query with pending insert
|
||||
QCOMPARE(model.headerData(0, Qt::Horizontal).toString(), QString("id"));
|
||||
QCOMPARE(model.headerData(0, Qt::Horizontal).toString().toLower(), QString("id"));
|
||||
model.setEditStrategy(QSqlTableModel::OnManualSubmit);
|
||||
model.insertRow(0);
|
||||
QCOMPARE(model.rowCount(), 1);
|
||||
QCOMPARE(model.headerData(0, Qt::Horizontal).toString(), QString("id"));
|
||||
QCOMPARE(model.headerData(0, Qt::Horizontal).toString().toLower(), QString("id"));
|
||||
model.revertAll();
|
||||
}
|
||||
|
||||
@ -1700,10 +1688,7 @@ void tst_QSqlTableModel::whitespaceInIdentifiers()
|
||||
QSqlDatabase db = QSqlDatabase::database(dbName);
|
||||
CHECK_DATABASE(db);
|
||||
|
||||
if (!testWhiteSpaceNames(db.driverName()))
|
||||
QSKIP("DBMS doesn't support whitespaces in identifiers");
|
||||
|
||||
QString tableName = qTableName("qtestw hitespace", db);
|
||||
QString tableName = qTableName("qtestw hitespace", __FILE__, db);
|
||||
|
||||
QSqlTableModel model(0, db);
|
||||
model.setTable(tableName);
|
||||
@ -1947,14 +1932,16 @@ void tst_QSqlTableModel::sqlite_attachedDatabase()
|
||||
attachedDb.setDatabaseName(db.databaseName()+QLatin1String("attached.dat"));
|
||||
QVERIFY_SQL(attachedDb, open());
|
||||
QSqlQuery q(attachedDb);
|
||||
tst_Databases::safeDropTables(attachedDb, QStringList() << "atest" << "atest2");
|
||||
TableScope ts(db, "atest", __FILE__);
|
||||
TableScope tsAttached(attachedDb, "atest", __FILE__);
|
||||
TableScope tsAttached2(attachedDb, "atest2", __FILE__);
|
||||
|
||||
QVERIFY_SQL( q, exec("CREATE TABLE atest(id int, text varchar(20))"));
|
||||
QVERIFY_SQL( q, exec("CREATE TABLE atest2(id int, text varchar(20))"));
|
||||
QVERIFY_SQL( q, exec("INSERT INTO atest VALUES(1, 'attached-atest')"));
|
||||
QVERIFY_SQL( q, exec("INSERT INTO atest2 VALUES(2, 'attached-atest2')"));
|
||||
|
||||
QSqlQuery q2(db);
|
||||
tst_Databases::safeDropTable(db, "atest");
|
||||
QVERIFY_SQL(q2, exec("CREATE TABLE atest(id int, text varchar(20))"));
|
||||
QVERIFY_SQL(q2, exec("INSERT INTO atest VALUES(3, 'main')"));
|
||||
QVERIFY_SQL(q2, exec("ATTACH DATABASE \""+attachedDb.databaseName()+"\" as adb"));
|
||||
@ -2145,29 +2132,27 @@ void tst_QSqlTableModel::sqlite_selectFromIdentifierWithDot()
|
||||
{
|
||||
QFETCH(QString, dbName);
|
||||
QSqlDatabase db = QSqlDatabase::database(dbName);
|
||||
TableScope fieldDot(db, "fieldDot", __FILE__);
|
||||
TableScope tableDot(db, u'[' + qTableName("table.dot", __FILE__, db) + u']');
|
||||
CHECK_DATABASE(db);
|
||||
{
|
||||
const auto fieldDot = qTableName("fieldDot", __FILE__, db);
|
||||
tst_Databases::safeDropTable(db, fieldDot);
|
||||
QSqlQuery qry(db);
|
||||
QVERIFY_SQL(qry, exec("create table " + fieldDot + " (id int primary key, "
|
||||
QVERIFY_SQL(qry, exec("create table " + fieldDot.tableName() + " (id int primary key, "
|
||||
"\"person.firstname\" varchar(20))"));
|
||||
QVERIFY_SQL(qry, exec("insert into " + fieldDot + " values(1, 'Andy')"));
|
||||
QVERIFY_SQL(qry, exec("insert into " + fieldDot.tableName() + " values(1, 'Andy')"));
|
||||
QSqlTableModel model(0, db);
|
||||
model.setTable(fieldDot);
|
||||
model.setTable(fieldDot.tableName());
|
||||
QVERIFY_SQL(model, select());
|
||||
QCOMPARE(model.data(model.index(0, 0)).toInt(), 1);
|
||||
QCOMPARE(model.data(model.index(0, 1)).toString(), QString("Andy"));
|
||||
}
|
||||
const auto tableDot = QLatin1Char('[') + qTableName("table.dot", __FILE__, db) + QLatin1Char(']');
|
||||
{
|
||||
tst_Databases::safeDropTable(db, tableDot);
|
||||
QSqlQuery qry(db);
|
||||
QVERIFY_SQL(qry, exec("create table " + tableDot + " (id int primary key, "
|
||||
QVERIFY_SQL(qry, exec("create table " + tableDot.tableName() + " (id int primary key, "
|
||||
"\"person.firstname\" varchar(20))"));
|
||||
QVERIFY_SQL(qry, exec("insert into " + tableDot + " values(1, 'Andy')"));
|
||||
QVERIFY_SQL(qry, exec("insert into " + tableDot.tableName() + " values(1, 'Andy')"));
|
||||
QSqlTableModel model(0, db);
|
||||
model.setTable(tableDot);
|
||||
model.setTable(tableDot.tableName());
|
||||
QVERIFY_SQL(model, select());
|
||||
QCOMPARE(model.data(model.index(0, 0)).toInt(), 1);
|
||||
QCOMPARE(model.data(model.index(0, 1)).toString(), QString("Andy"));
|
||||
@ -2179,7 +2164,7 @@ void tst_QSqlTableModel::sqlite_selectFromIdentifierWithDot()
|
||||
QSqlQuery qry(attachedDb);
|
||||
QVERIFY_SQL(qry, exec(QString("attach '%1' AS 'attached'").arg(db.databaseName())));
|
||||
QSqlTableModel model(0, attachedDb);
|
||||
model.setTable(QString("attached.%1").arg(tableDot));
|
||||
model.setTable(QString("attached.%1").arg(tableDot.tableName()));
|
||||
QVERIFY_SQL(model, select());
|
||||
QCOMPARE(model.data(model.index(0, 0)).toInt(), 1);
|
||||
QCOMPARE(model.data(model.index(0, 1)).toString(), QString("Andy"));
|
||||
|
Reference in New Issue
Block a user