diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-02-18 20:03:20 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-02-18 20:03:20 +0100 |
commit | 3654a4a3c1cb2ac9bb8b486877d9f1e6a6b220be (patch) | |
tree | 611c16caa5096bd1348f188c9072354f1e613a9f /tests/auto/sql/kernel/qsqlresult | |
parent | c04f3584abd621f09e8f2c81b9c6c87212a993a3 (diff) | |
parent | f4900d340a4c620b56871995741696d28e53c167 (diff) |
Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev
Diffstat (limited to 'tests/auto/sql/kernel/qsqlresult')
-rw-r--r-- | tests/auto/sql/kernel/qsqlresult/testsqldriver.h | 5 | ||||
-rw-r--r-- | tests/auto/sql/kernel/qsqlresult/tst_qsqlresult.cpp | 34 |
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 ) |