• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<html>
2<head>
3<script>
4
5function log(message)
6{
7    document.getElementById("console").innerHTML += message + "<br>";
8}
9
10function finishTest()
11{
12    log("Test Complete");
13    if (window.layoutTestController)
14        layoutTestController.notifyDone();
15}
16
17function errorFunction(error)
18{
19    log("Test failed - " + error.message);
20    finishTest();
21}
22
23var successCount = 0;
24
25function successFunction(message)
26{
27    log("Transaction succeeded - " + message);
28    if (++successCount == 2)
29        finishTest();
30}
31
32function runTest()
33{
34    if (window.layoutTestController) {
35        layoutTestController.clearAllDatabases();
36        layoutTestController.dumpAsText();
37        layoutTestController.waitUntilDone();
38    }
39
40    var database = openDatabase("SuccessCallbackDatabase", "1.0", "Test for success callback <rdar://5737692>", 1);
41    database.transaction(function(tx) { tx.executeSql("CREATE TABLE IF NOT EXISTS SuccessCallbackTest (randomData)", []); }, errorFunction, function() { successFunction("Transaction with one statement"); });
42    database.transaction(function(tx) { }, errorFunction, function() { successFunction("Empty transaction"); });
43}
44
45</script>
46</head>
47
48<body onload="runTest()">
49This test confirms that a successful transaction - both with and without a statement - receives its successCallback
50<pre id="console">
51</pre>
52</body>
53
54</html>
55