| <html> |
| <head> |
| <script> |
| |
| var TOTAL_STATEMENTS = 8; |
| var statements = 0; |
| var db = null; |
| |
| function log(message) |
| { |
| document.body.innerText += message + "\n"; |
| } |
| |
| function terminateTest() |
| { |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| } |
| |
| function executeStatement(expectedToPass, statement) |
| { |
| db.transaction(function(tx) { |
| tx.executeSql(statement, [], |
| function(tx, data) { |
| if (!expectedToPass) { |
| log("Statement " + statement + " was expected to fail, but passed."); |
| terminateTest(); |
| } |
| if (++statements == TOTAL_STATEMENTS) { |
| log("Test passed."); |
| terminateTest(); |
| } |
| }, function(tx, error) { |
| if (expectedToPass) { |
| log("Statement " + statement + " was expected to pass, but failed."); |
| terminateTest(); |
| } |
| if (++statements == TOTAL_STATEMENTS) { |
| log("Test passed."); |
| terminateTest(); |
| } |
| }); |
| }); |
| } |
| |
| function runTest() |
| { |
| if (window.testRunner) { |
| testRunner.clearAllDatabases(); |
| testRunner.dumpAsText(); |
| testRunner.waitUntilDone(); |
| } |
| |
| db = openDatabase("ExecuteSQLAcceptsOnlyOneStatementTest", "1.0", "", 1); |
| db.transaction(function(tx) { |
| tx.executeSql("CREATE TABLE IF NOT EXISTS Test (Foo INT)"); |
| }, function(error) { |
| log("Test failed: " + error.message); |
| terminateTest(); |
| }, function() { |
| executeStatement(true, "INSERT INTO Test VALUES (1)"); |
| executeStatement(true, "INSERT INTO Test VALUES (2);"); |
| executeStatement(true, " INSERT INTO Test VALUES (3) "); |
| executeStatement(true, " INSERT INTO Test VALUES (4); "); |
| executeStatement(true, "INSERT INTO Test VALUES (5) ;"); |
| executeStatement(false, "INSERT INTO Test VALUES (6); garbage"); |
| executeStatement(false, "INSERT INTO Test VALUES (7); INSERT INTO Test VALUES (8)"); |
| executeStatement(false, " INSERT INTO Test VALUES (9); INSERT INTO Test VALUES (10); "); |
| }); |
| } |
| |
| </script> |
| </head> |
| <body onload="runTest();"> |
| This test tests that executeSql() fails when called with a string that has more than one valid statement in it.<br> |
| </body> |
| </body> |
| </html> |