summaryrefslogtreecommitdiffstats
path: root/tests/auto/sql/kernel/qsqldatabase/tst_databases.h
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/sql/kernel/qsqldatabase/tst_databases.h')
-rw-r--r--tests/auto/sql/kernel/qsqldatabase/tst_databases.h40
1 files changed, 29 insertions, 11 deletions
diff --git a/tests/auto/sql/kernel/qsqldatabase/tst_databases.h b/tests/auto/sql/kernel/qsqldatabase/tst_databases.h
index 57605d6a127..0694186942c 100644
--- a/tests/auto/sql/kernel/qsqldatabase/tst_databases.h
+++ b/tests/auto/sql/kernel/qsqldatabase/tst_databases.h
@@ -72,12 +72,7 @@ inline static QString qTableName(const QString &prefix, const char *sourceFileNa
class tst_Databases
{
-
public:
- tst_Databases(): counter( 0 )
- {
- }
-
~tst_Databases()
{
close();
@@ -322,11 +317,6 @@ public:
}
}
- static void safeDropTable(QSqlDatabase db, const QString &tableName)
- {
- safeDropTables(db, {tableName});
- }
-
static void safeDropViews(QSqlDatabase db, const QStringList &viewNames)
{
if (isMSAccess(db)) // Access is sooo stupid.
@@ -481,7 +471,7 @@ public:
}
QStringList dbNames;
- int counter;
+ int counter = 0;
private:
QTemporaryDir *dbDir()
@@ -499,5 +489,33 @@ private:
QScopedPointer<QTemporaryDir> m_dbDir;
};
+class TableScope
+{
+public:
+ TableScope(const QSqlDatabase &db, const QString &fullTableName)
+ : m_db(db)
+ , m_tableName(fullTableName)
+ {
+ tst_Databases::safeDropTables(m_db, {m_tableName});
+ }
+ TableScope(const QSqlDatabase &db, const char *tableName, const char *file, bool escape = true)
+ : TableScope(db, qTableName(tableName, file, db, escape))
+ {
+ }
+
+ ~TableScope()
+ {
+ tst_Databases::safeDropTables(m_db, {m_tableName});
+ }
+
+ QString tableName() const
+ {
+ return m_tableName;
+ }
+private:
+ QSqlDatabase m_db;
+ QString m_tableName;
+};
+
#endif