diff options
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/declarative/sql/data/iteration-forwardonly.js | 29 | ||||
-rw-r--r-- | tests/auto/declarative/sql/tst_sql.cpp | 3 |
2 files changed, 31 insertions, 1 deletions
diff --git a/tests/auto/declarative/sql/data/iteration-forwardonly.js b/tests/auto/declarative/sql/data/iteration-forwardonly.js new file mode 100644 index 0000000..45947c0 --- /dev/null +++ b/tests/auto/declarative/sql/data/iteration-forwardonly.js @@ -0,0 +1,29 @@ +function test() { + var db = openDatabaseSync("QmlTestDB-iteration-forwardonly", "", "Test database from Qt autotests", 1000000); + var r="transaction_not_finished"; + + db.transaction( + function(tx) { + tx.executeSql('CREATE TABLE Greeting(salutation TEXT, salutee TEXT)'); + tx.executeSql('INSERT INTO Greeting VALUES ("Hello", "world")'); + tx.executeSql('INSERT INTO Greeting VALUES ("Goodbye", "cruel world")'); + } + ) + + db.transaction( + function(tx) { + var rs = tx.executeSql('SELECT * FROM Greeting'); + rs.forwardOnly = !rs.forwardOnly + var r1="" + for(var i = 0; i < rs.rows.length; i++) + r1 += rs.rows.item(i).salutation + ", " + rs.rows.item(i).salutee + ";" + if (r1 != "hello, world;hello, world;hello, world;hello, world;") + if (r1 != "Hello, world;Goodbye, cruel world;") + r = "SELECTED DATA WRONG: "+r1; + else + r = "passed"; + } + ); + + return r; +} diff --git a/tests/auto/declarative/sql/tst_sql.cpp b/tests/auto/declarative/sql/tst_sql.cpp index d51b91c..6fd4189 100644 --- a/tests/auto/declarative/sql/tst_sql.cpp +++ b/tests/auto/declarative/sql/tst_sql.cpp @@ -133,7 +133,7 @@ void tst_sql::checkDatabasePath() QVERIFY(engine->offlineStoragePath().contains("OfflineStorage")); } -static const int total_databases_created_by_tests = 10; +static const int total_databases_created_by_tests = 12; void tst_sql::testQml_data() { QTest::addColumn<QString>("jsfile"); // The input file @@ -147,6 +147,7 @@ void tst_sql::testQml_data() QTest::newRow("selection") << "data/selection.js"; QTest::newRow("selection-bindnames") << "data/selection-bindnames.js"; QTest::newRow("iteration") << "data/iteration.js"; + QTest::newRow("iteration-forwardonly") << "data/iteration-forwardonly.js"; QTest::newRow("error-a") << "data/error-a.js"; QTest::newRow("error-notransaction") << "data/error-notransaction.js"; QTest::newRow("reopen1") << "data/reopen1.js"; |