1function finishTest()
2{
3    log("TEST COMPLETE.");
4
5    if (window.layoutTestController)
6        layoutTestController.notifyDone();
7}
8
9function runTest()
10{
11    try {
12        db = openDatabaseWithSuffix("ChangeVersion", "", "Test that changing a database version doesn't kill our handle to it", 1);
13        var version = db.version;
14        var newVersion = version ? (parseInt(version) + 1).toString() : "1";
15        db.changeVersion(version, newVersion, function(tx) {
16            log("changeVersion: transaction callback");
17        }, function(error) {
18            log("changeVersion: error callback: " + error.message);
19        }, function() {
20            log("changeVersion: success callback");
21            runTest2();
22        });
23
24    } catch (e) {
25        log("changeVersion exception: " + e);
26        finishTest();
27    }
28}
29
30function runTest2()
31{
32    try {
33        db.transaction(function(tx) {
34            tx.executeSql("SELECT * from FooBar", [], function(tx) {
35                log("transaction: statement callback");
36                finishTest();
37            }, function(tx, error) {
38                log("transaction: statement error callback: " + error.message);
39                finishTest();
40            });
41        });
42    } catch (e) {
43        log("transaction exception: " + e);
44        finishTest();
45    }
46}
47