diff options
author | Christian Ehrlicher <ch.ehrlicher@gmx.de> | 2019-09-18 20:34:13 +0200 |
---|---|---|
committer | Christian Ehrlicher <ch.ehrlicher@gmx.de> | 2019-09-21 08:13:59 +0200 |
commit | aa6d7dd7ee306c0adbcd42b013d1e749072205bb (patch) | |
tree | 7fc1444b5b46e978bb77223f89861f58ad9e941d /tests/auto/sql/kernel | |
parent | 0a70723a969a363d3b2ec6bc1172d37d4ee717b3 (diff) |
QSqlDriver: deprecate one-arg notification() signal
QSqlDriver::notifcation() signal is available in two versions since Qt4
times. They are both emitted in the corresponding places which is
useless.
Therefore deprecate the one-arg version.
[ChangeLog][QtSql][QSqlDriver] The one-arg version of
QSqlDriver::notifcation() is now deprecated.
Change-Id: Ie09aa0cc952f4d854c6fb617b37b9047a3194ee3
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Diffstat (limited to 'tests/auto/sql/kernel')
-rw-r--r-- | tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp | 50 |
1 files changed, 24 insertions, 26 deletions
diff --git a/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp b/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp index c59250e36e..6a1f46582e 100644 --- a/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp +++ b/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp @@ -2135,6 +2135,8 @@ void tst_QSqlDatabase::eventNotificationIBase() { QFETCH(QString, dbName); QSqlDatabase db = QSqlDatabase::database(dbName); + if (db.driverName().compare(QLatin1String("QIBASE"), Qt::CaseInsensitive)) + QSKIP("QIBASE specific test"); CHECK_DATABASE(db); const QString procedureName(qTableName("posteventProc", __FILE__, db)); @@ -2147,13 +2149,12 @@ void tst_QSqlDatabase::eventNotificationIBase() q.exec(QString("DROP PROCEDURE %1").arg(procedureName)); q.exec(QString("CREATE PROCEDURE %1\nAS BEGIN\nPOST_EVENT '%1';\nEND;").arg(procedureName)); q.exec(QString("EXECUTE PROCEDURE %1").arg(procedureName)); - QSignalSpy spy(driver, SIGNAL(notification(QString))); + QSignalSpy spy(driver, QOverload<const QString &, QSqlDriver::NotificationSource, const QVariant &>::of(&QSqlDriver::notification)); db.commit(); // No notifications are posted until the transaction is committed. - QTest::qWait(300); // Interbase needs some time to post the notification and call the driver callback. - // This happends from another thread, and we have to process events in order for the - // event handler in the driver to be executed and emit the notification signal. - - QCOMPARE(spy.count(), 1); + // Interbase needs some time to post the notification and call the driver callback. + // This happends from another thread, and we have to process events in order for the + // event handler in the driver to be executed and emit the notification signal. + QTRY_COMPARE(spy.count(), 1); QList<QVariant> arguments = spy.takeFirst(); QCOMPARE(arguments.at(0).toString(), procedureName); QVERIFY_SQL(*driver, unsubscribeFromNotification(procedureName)); @@ -2164,52 +2165,49 @@ void tst_QSqlDatabase::eventNotificationPSQL() { QFETCH(QString, dbName); QSqlDatabase db = QSqlDatabase::database(dbName); + if (db.driverName().compare(QLatin1String("QPSQL"), Qt::CaseInsensitive)) + QSKIP("QPSQL specific test"); CHECK_DATABASE(db); QSqlQuery query(db); const auto procedureName = qTableName("posteventProc", __FILE__, db, false); QString payload = "payload"; - QSqlDriver &driver=*(db.driver()); - QVERIFY_SQL(driver, subscribeToNotification(procedureName)); - QSignalSpy spy(db.driver(), SIGNAL(notification(QString,QSqlDriver::NotificationSource,QVariant))); + QSqlDriver *driver = db.driver(); + QVERIFY_SQL(*driver, subscribeToNotification(procedureName)); + QSignalSpy spy(driver, QOverload<const QString &, QSqlDriver::NotificationSource, const QVariant &>::of(&QSqlDriver::notification)); query.exec(QString("NOTIFY \"%1\", '%2'").arg(procedureName).arg(payload)); - QCoreApplication::processEvents(); - QCOMPARE(spy.count(), 1); + QTRY_COMPARE(spy.count(), 1); QList<QVariant> arguments = spy.takeFirst(); QCOMPARE(arguments.at(0).toString(), procedureName); QCOMPARE(qvariant_cast<QSqlDriver::NotificationSource>(arguments.at(1)), QSqlDriver::SelfSource); QCOMPARE(qvariant_cast<QVariant>(arguments.at(2)).toString(), payload); - QVERIFY_SQL(driver, unsubscribeFromNotification(procedureName)); + QVERIFY_SQL(*driver, unsubscribeFromNotification(procedureName)); } void tst_QSqlDatabase::eventNotificationSQLite() { QFETCH(QString, dbName); QSqlDatabase db = QSqlDatabase::database(dbName); - CHECK_DATABASE(db); - if (db.driverName().compare(QLatin1String("QSQLITE"), Qt::CaseInsensitive)) { + if (db.driverName().compare(QLatin1String("QSQLITE"), Qt::CaseInsensitive)) QSKIP("QSQLITE specific test"); - } + CHECK_DATABASE(db); + const QString tableName(qTableName("sqlitnotifytest", __FILE__, db)); const auto noEscapeTableName(qTableName("sqlitnotifytest", __FILE__, db, false)); tst_Databases::safeDropTable(db, tableName); - QSignalSpy notificationSpy(db.driver(), SIGNAL(notification(QString))); - QSignalSpy notificationSpyExt(db.driver(), SIGNAL(notification(QString,QSqlDriver::NotificationSource,QVariant))); + QSqlDriver *driver = db.driver(); + QSignalSpy spy(driver, QOverload<const QString &, QSqlDriver::NotificationSource, const QVariant &>::of(&QSqlDriver::notification)); QSqlQuery q(db); QVERIFY_SQL(q, exec("CREATE TABLE " + tableName + " (id INTEGER, realVal REAL)")); - db.driver()->subscribeToNotification(noEscapeTableName); + driver->subscribeToNotification(noEscapeTableName); QVERIFY_SQL(q, exec("INSERT INTO " + tableName + " (id, realVal) VALUES (1, 2.3)")); - QTRY_COMPARE(notificationSpy.count(), 1); - QTRY_COMPARE(notificationSpyExt.count(), 1); - QList<QVariant> arguments = notificationSpy.takeFirst(); - QCOMPARE(arguments.at(0).toString(), noEscapeTableName); - arguments = notificationSpyExt.takeFirst(); + QTRY_COMPARE(spy.count(), 1); + QList<QVariant> arguments = spy.takeFirst(); QCOMPARE(arguments.at(0).toString(), noEscapeTableName); - db.driver()->unsubscribeFromNotification(noEscapeTableName); + driver->unsubscribeFromNotification(noEscapeTableName); QVERIFY_SQL(q, exec("INSERT INTO " + tableName + " (id, realVal) VALUES (1, 2.3)")); - QTRY_COMPARE(notificationSpy.count(), 0); - QTRY_COMPARE(notificationSpyExt.count(), 0); + QTRY_COMPARE(spy.count(), 0); } void tst_QSqlDatabase::sqlite_bindAndFetchUInt() |