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