OLD | NEW |
| (Empty) |
1 <!DOCTYPE html> | |
2 <script src="../../resources/js-test.js"></script> | |
3 <script src="resources/shared.js"></script> | |
4 <script> | |
5 | |
6 description('webkitGetDatabaseNames should only return successfully created data
bases'); | |
7 | |
8 function deleteDatabase(dbname) | |
9 { | |
10 return new Promise(function(resolve, reject) { | |
11 var request = indexedDB.deleteDatabase(dbname); | |
12 request.onsuccess = function() { | |
13 resolve(request.result); | |
14 }; | |
15 request.onerror = function() { | |
16 reject(request.error); | |
17 }; | |
18 }); | |
19 } | |
20 | |
21 function getDatabaseNames() | |
22 { | |
23 return new Promise(function(resolve, reject) { | |
24 var request = indexedDB.webkitGetDatabaseNames(); | |
25 request.onsuccess = function() { | |
26 resolve(request.result); | |
27 }; | |
28 request.onerror = function() { | |
29 reject(request.error); | |
30 }; | |
31 }); | |
32 } | |
33 | |
34 function openDatabaseAndAbortUpgrade(dbname) | |
35 { | |
36 return new Promise(function(resolve, reject) { | |
37 var request = indexedDB.open(dbname, 1); | |
38 request.onupgradeneeded = function() { | |
39 request.transaction.abort(); | |
40 }; | |
41 request.onsuccess = function() { | |
42 reject(new Error('Open should not succeed')); | |
43 }; | |
44 request.onerror = function() { | |
45 resolve(); | |
46 }; | |
47 }); | |
48 } | |
49 | |
50 setDBNameFromPath(); | |
51 deleteDatabase(dbname) | |
52 .then(getDatabaseNames) | |
53 .then(function(names) { | |
54 if (names.contains(dbname)) | |
55 throw Error('Database should have been deleted if present'); | |
56 | |
57 return openDatabaseAndAbortUpgrade(dbname); | |
58 }) | |
59 .then(getDatabaseNames) | |
60 .then(function(names) { | |
61 if (names.contains(dbname)) | |
62 throw Error('Database name should not be present'); | |
63 | |
64 testPassed('Database name was not present'); | |
65 finishJSTest(); | |
66 }) | |
67 .catch(function(reason) { | |
68 testFailed(reason.name + ': ' + reason.message); | |
69 finishJSTest(); | |
70 }); | |
71 | |
72 </script> | |
OLD | NEW |