Modern IDB: Remove unneeded "Alert: " string from storage/indexeddb/modern tests.
[WebKit-https.git] / LayoutTests / storage / indexeddb / modern / resources / idbdatabase-transaction-failures.js
1 description("This tests some obvious failures that can happen while calling IDBDatabase.transaction()");
2
3 if (window.testRunner) {
4     testRunner.waitUntilDone();
5     testRunner.dumpAsText();
6 }
7
8 function done()
9 {
10     finishJSTest();
11 }
12
13 var createRequest = window.indexedDB.open("IDBDatabaseTransactionFailuresDatabase");
14 var database;
15
16 createRequest.onupgradeneeded = function(event) {
17     debug("Upgrade needed: Old version - " + event.oldVersion + " New version - " + event.newVersion);
18
19     var versionTransaction = createRequest.transaction;
20     database = event.target.result;
21     var objectStore = database.createObjectStore("TestObjectStore");
22     var request = objectStore.put("foo", "bar");
23
24     request.onerror = function(event) {
25         debug("put FAILED - " + event);
26         done();
27     }
28     
29     try {
30         database.transaction("TestObjectStore", "readonly");
31     } catch(e) {
32         debug("Failed to start a transaction while a versionChange transaction was in progress - " + e);
33     }
34
35     versionTransaction.onabort = function(event) {
36         debug("versionchange transaction aborted");
37         done();
38     }
39
40     versionTransaction.oncomplete = function(event) {
41         debug("versionchange transaction completed");
42         continueTest();
43     }
44
45     versionTransaction.onerror = function(event) {
46         debug("versionchange transaction error'ed - " + event);
47         done();
48     }
49 }
50
51 function continueTest()
52 {
53     try {
54         database.transaction([], "readonly");
55     } catch(e) {
56         debug("Failed to start a transaction with an empty set of object stores - " + e);
57     }
58
59     try {
60         database.transaction("NonexistentObjectStore", "readonly");
61     } catch(e) {
62         debug("Failed to start a transaction to a nonexistent object store - " + e);
63     }
64
65     try {
66         database.transaction("TestObjectStore", "blahblah");
67     } catch(e) {
68         debug("Failed to start a transaction with an invalid mode - " + e);
69     }
70
71     try {
72         database.transaction("TestObjectStore", "versionchange");
73     } catch(e) {
74         debug("Failed to explicitly start a versionchange transaction - " + e);
75     }
76     
77     try {
78         database.close();
79         database.transaction("TestObjectStore", "readonly");
80     } catch(e) {
81         debug("Failed to explicitly start a transaction with the close pending flag set - " + e);
82     }
83     
84     done();
85 }