Modern IDB: Remove unneeded "Alert: " string from storage/indexeddb/modern tests.
[WebKit-https.git] / LayoutTests / storage / indexeddb / modern / resources / versionchange-abort-then-reopen.js
1 description("This test opens a new database, then aborts the version change transaction. \
2 It then reopens the database, making sure it's a default, empty database, and changes the version successfully. \
3 It then reopens the database, upgrading it's version. It aborts this versionchange, as well. \
4 Finally it reopens the database again, upgrading its version, making sure things had reverted back to before the second aborted versionchange.");
5
6
7 if (window.testRunner) {
8     testRunner.waitUntilDone();
9     testRunner.dumpAsText();
10 }
11
12 function done()
13 {
14     finishJSTest();
15 }
16
17 var createRequest = window.indexedDB.open("VersionChangeAbortTestDatabase", 1);
18
19 createRequest.onupgradeneeded = function(event) {
20     debug("Initial upgrade needed: Old version - " + event.oldVersion + " New version - " + event.newVersion);
21
22     var versionTransaction = createRequest.transaction;
23     var database = event.target.result;
24
25     versionTransaction.abort();
26
27     versionTransaction.onabort = function(event) {
28         debug("Initial upgrade versionchange transaction aborted");
29         continueTest1();
30         database.close();
31     }
32
33     versionTransaction.oncomplete = function(event) {
34         debug("Initial upgrade versionchange transaction unexpected complete");
35         done();
36     }
37
38     versionTransaction.onerror = function(event) {
39         debug("Initial upgrade versionchange transaction error " + event);
40     }
41 }
42
43 function continueTest1()
44 {
45     createRequest = window.indexedDB.open("VersionChangeAbortTestDatabase", 1);
46
47     createRequest.onupgradeneeded = function(event) {
48         debug("Second upgrade needed: Old version - " + event.oldVersion + " New version - " + event.newVersion);
49
50         var versionTransaction = createRequest.transaction;
51         var database = event.target.result;
52
53         versionTransaction.onabort = function(event) {
54             debug("Second upgrade versionchange transaction unexpected abort");
55             done();
56         }
57
58         versionTransaction.oncomplete = function(event) {
59             debug("Second upgrade versionchange transaction complete");
60             continueTest2();
61             database.close();
62         }
63
64         versionTransaction.onerror = function(event) {
65             debug("Second upgrade versionchange transaction unexpected error" + event);
66             done();
67         }
68     }
69 }
70
71 function continueTest2()
72 {
73     createRequest = window.indexedDB.open("VersionChangeAbortTestDatabase", 2);
74
75     createRequest.onupgradeneeded = function(event) {
76         debug("Third upgrade needed: Old version - " + event.oldVersion + " New version - " + event.newVersion);
77
78         var versionTransaction = createRequest.transaction;
79         var database = event.target.result;
80
81         versionTransaction.abort();
82     
83         versionTransaction.onabort = function(event) {
84             debug("Third upgrade versionchange transaction aborted");
85             continueTest3();
86             database.close();
87         }
88
89         versionTransaction.oncomplete = function(event) {
90             debug("Third upgrade versionchange transaction unexpected complete");
91             done();
92         }
93
94         versionTransaction.onerror = function(event) {
95             debug("Third upgrade versionchange transaction error" + event);
96         }
97     }
98 }
99
100 function continueTest3()
101 {
102     createRequest = window.indexedDB.open("VersionChangeAbortTestDatabase", 2);
103
104     createRequest.onupgradeneeded = function(event) {
105         debug("Fourth upgrade needed: Old version - " + event.oldVersion + " New version - " + event.newVersion);
106         var database = event.target.result;
107         done();
108     }
109 }
110
111