summaryrefslogtreecommitdiffstats
path: root/tests/auto/sql
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2013-02-18 16:14:52 +0100
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2013-02-18 16:14:52 +0100
commitf4900d340a4c620b56871995741696d28e53c167 (patch)
tree66d4ed6e4e8012e8a534717e87bf15cf8a992652 /tests/auto/sql
parent7c33ae6a7bbbd42ce70acf77aa55c1bc2a23c8ec (diff)
parent843de37bca944110fdf3aab161d680e3845d2dd2 (diff)
Merge remote-tracking branch 'origin/stable' into dev
Conflicts: src/widgets/styles/qmacstyle_mac.mm Change-Id: If8326db9e7da3cbf45dbf7475fdff9915c7723b1
Diffstat (limited to 'tests/auto/sql')
-rw-r--r--tests/auto/sql/kernel/qsqlresult/testsqldriver.h5
-rw-r--r--tests/auto/sql/kernel/qsqlresult/tst_qsqlresult.cpp34
2 files changed, 39 insertions, 0 deletions
diff --git a/tests/auto/sql/kernel/qsqlresult/testsqldriver.h b/tests/auto/sql/kernel/qsqlresult/testsqldriver.h
index 93f4978ea6..9d435a0f7c 100644
--- a/tests/auto/sql/kernel/qsqlresult/testsqldriver.h
+++ b/tests/auto/sql/kernel/qsqlresult/testsqldriver.h
@@ -58,6 +58,11 @@ public:
return QSqlResult::savePrepare(sqlquery);
}
+ QVector<QVariant> boundValues() const
+ {
+ return QSqlResult::boundValues();
+ }
+
protected:
QVariant data(int /* index */) { return QVariant(); }
bool isNull(int /* index */) { return false; }
diff --git a/tests/auto/sql/kernel/qsqlresult/tst_qsqlresult.cpp b/tests/auto/sql/kernel/qsqlresult/tst_qsqlresult.cpp
index 7e901d4b2c..ba6b4d1fbf 100644
--- a/tests/auto/sql/kernel/qsqlresult/tst_qsqlresult.cpp
+++ b/tests/auto/sql/kernel/qsqlresult/tst_qsqlresult.cpp
@@ -53,6 +53,7 @@ public:
private slots:
void positionalToNamedBinding();
+ void parseOfBoundValues();
};
@@ -66,6 +67,39 @@ void tst_QSqlResult::positionalToNamedBinding()
TestSqlDriverResult result(&testDriver);
QString query("INSERT INTO MYTABLE (ID, NAME, BIRTH) VALUES(?, ?, ?)");
QVERIFY(result.savePrepare(query));
+ QCOMPARE(result.boundValues().count(), 3);
+}
+
+void tst_QSqlResult::parseOfBoundValues()
+{
+ TestSqlDriver testDriver;
+ TestSqlDriverResult result(&testDriver);
+ QVERIFY(result.savePrepare("SELECT :1 AS \":2\""));
+ QCOMPARE(result.boundValues().count(), 1);
+ QVERIFY(result.savePrepare("SELECT :1 AS ':2'"));
+ QCOMPARE(result.boundValues().count(), 1);
+ QVERIFY(result.savePrepare("SELECT :1 AS [:2]"));
+ QCOMPARE(result.boundValues().count(), 1);
+ QVERIFY(result.savePrepare("SELECT :1 AS [:2]]]"));
+ QCOMPARE(result.boundValues().count(), 1);
+ QVERIFY(result.savePrepare("SELECT :1 AS [:2]]]]]"));
+ QCOMPARE(result.boundValues().count(), 1);
+
+ QVERIFY(result.savePrepare("SELECT ? AS \"?\""));
+ QCOMPARE(result.boundValues().count(), 1);
+ QVERIFY(result.savePrepare("SELECT ? AS '?'"));
+ QCOMPARE(result.boundValues().count(), 1);
+ QVERIFY(result.savePrepare("SELECT ? AS [?]"));
+ QCOMPARE(result.boundValues().count(), 1);
+
+ QVERIFY(result.savePrepare("SELECT ? AS \"'?\""));
+ QCOMPARE(result.boundValues().count(), 1);
+ QVERIFY(result.savePrepare("SELECT ? AS '?\"'"));
+ QCOMPARE(result.boundValues().count(), 1);
+ QVERIFY(result.savePrepare("SELECT ? AS '?''?'"));
+ QCOMPARE(result.boundValues().count(), 1);
+ QVERIFY(result.savePrepare("SELECT ? AS [\"?']"));
+ QCOMPARE(result.boundValues().count(), 1);
}
QTEST_MAIN( tst_QSqlResult )