79 lines
2.3 KiB
HTML
79 lines
2.3 KiB
HTML
<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>
|