<html>

<head>
<script>

function writeMessageToLog(message)
{
    document.getElementById("console").innerText += message + "\n";
}

function executeEmptyStatement(transaction)
{
    transaction.executeSql("");
    writeMessageToLog("Executed an empty statement. If you didn't see a crash or assertion, the test passed.");
    if (window.testRunner)
        testRunner.notifyDone();
}

function runTest()
{
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
    }
    var db = openDatabase("EmptyStatementTest", "1.0", "Database for an empty statement test", 1);
    db.transaction(executeEmptyStatement);
}

</script>
</head>

<body onload="runTest()">
<pre id="console"></pre>
</body>

</html>
