Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(135)

Side by Side Diff: third_party/WebKit/LayoutTests/storage/indexeddb/open-request-queue.html

Issue 2664623002: Upstream an assortment of IndexedDB tests to WPT. (Closed)
Patch Set: Rebase MANIFEST.json. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/WebKit/LayoutTests/storage/indexeddb/idbobjectstore-getAllKeys-enforcerange.html ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <title>IndexedDB: open and delete requests are processed as a FIFO queue</title>
3 <script src='../../resources/testharness.js'></script>
4 <script src='../../resources/testharnessreport.js'></script>
5 <script src='resources/testharness-helpers.js'></script>
6 <script>
7
8 async_test(t => {
9 let db_name = 'db' + self.location.pathname + '-' + t.name;
10 indexedDB.deleteDatabase(db_name);
11
12 // Open and hold connection while other requests are queued up.
13 let r = indexedDB.open(db_name, 1);
14 r.onerror = t.unreached_func('open should succeed');
15 r.onsuccess = t.step_func(e => {
16 let db = r.result;
17
18 let saw = expect(t, [
19 'open1 success',
20 'open1 versionchange',
21 'delete1 blocked',
22 'delete1 success',
23 'open2 success',
24 'open2 versionchange',
25 'delete2 blocked',
26 'delete2 success'
27 ]);
28
29 function open(token, version) {
30 let r = indexedDB.open(db_name, version);
31 r.onsuccess = t.step_func(e => {
32 saw(token + ' success');
33 let db = r.result;
34 db.onversionchange = t.step_func(e => {
35 saw(token + ' versionchange');
36 setTimeout(t.step_func(() => db.close()), 0);
37 });
38 });
39 r.onblocked = t.step_func(e => saw(token + ' blocked'));
40 r.onerror = t.unreached_func('open should succeed');
41 }
42
43 function deleteDatabase(token) {
44 let r = indexedDB.deleteDatabase(db_name);
45 r.onsuccess = t.step_func(e => saw(token + ' success'));
46 r.onblocked = t.step_func(e => saw(token + ' blocked'));
47 r.onerror = t.unreached_func('deleteDatabase should succeed');
48 }
49
50 open('open1', 2);
51 deleteDatabase('delete1');
52 open('open2', 3);
53 deleteDatabase('delete2');
54
55 // Now unblock the queue.
56 db.close();
57 });
58
59 }, 'Opens and deletes are processed in order');
60
61 </script>
OLDNEW
« no previous file with comments | « third_party/WebKit/LayoutTests/storage/indexeddb/idbobjectstore-getAllKeys-enforcerange.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698