Skip to content
This repository was archived by the owner on Jul 9, 2025. It is now read-only.

Commit 3146269

Browse files
snehagarwal1moz-wptsync-bot
authored andcommitted
Bug 1945293 [wpt PR 50423] - IDB WPTs: Extend idbfactory_deleteDatabase WPTs to run on workers., a=testonly
Automatic update from web-platform-tests IDB WPTs: Extend idbfactory_deleteDatabase WPTs to run on workers. This change extends idbfactory_deleteDatabase WPT set to run on shared, dedicated, and service worker environments along with window environment. Bug: 41455766 Change-Id: Iec74d119b95c361093f6f92e7390e6d2acb60899 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6220267 Reviewed-by: Rahul Singh <[email protected]> Reviewed-by: Steve Becker <[email protected]> Commit-Queue: Sneha Agarwal <[email protected]> Cr-Commit-Position: refs/heads/main@{#1414480} -- wpt-commits: 92eefefb1dbc80726ae7f07dd0ca47448cd04c32 wpt-pr: 50423
1 parent 71d3e0e commit 3146269

File tree

5 files changed

+116
-147
lines changed

5 files changed

+116
-147
lines changed
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
// META: title=IDBFactory.deleteDatabase()
2+
// META: global=window,worker
3+
// META: script=resources/support.js
4+
5+
'use strict';
6+
7+
async_test(t => {
8+
const open_rq = createdb(t, undefined, 9);
9+
10+
open_rq.onupgradeneeded = t.step_func(e => {});
11+
open_rq.onsuccess = t.step_func(e => {
12+
const db = e.target.result;
13+
db.close();
14+
15+
const delete_rq = indexedDB.deleteDatabase(db.name);
16+
delete_rq.onerror = t.step_func(e => {
17+
assert_unreached('Unexpected delete_rq.error event');
18+
});
19+
delete_rq.onsuccess = t.step_func(e => {
20+
assert_equals(e.target.source, null, 'event.target.source');
21+
t.done();
22+
});
23+
});
24+
}, 'deleteDatabase() request should have no source');
25+
26+
async_test(t => {
27+
const open_rq = createdb(t, undefined, 9);
28+
29+
open_rq.onupgradeneeded = t.step_func(e => {});
30+
31+
open_rq.onsuccess = t.step_func(e => {
32+
const db = e.target.result;
33+
db.close();
34+
35+
const delete_rq = indexedDB.deleteDatabase(db.name);
36+
delete_rq.onerror = t.step_func(e => {
37+
assert_unreached('Unexpected delete_rq.error event');
38+
});
39+
40+
delete_rq.onsuccess = t.step_func(e => {
41+
assert_equals(e.target.result, undefined, 'result');
42+
t.done();
43+
});
44+
});
45+
}, 'Result of the deleteDatabase() request is set to undefined.');
46+
47+
async_test(t => {
48+
let db;
49+
const open_rq = createdb(t, undefined, 9);
50+
51+
open_rq.onupgradeneeded = t.step_func(e => {
52+
db = e.target.result;
53+
db.createObjectStore('os');
54+
});
55+
56+
open_rq.onsuccess = t.step_func(e => {
57+
db.close();
58+
59+
const delete_rq = indexedDB.deleteDatabase(db.name);
60+
delete_rq.onerror = t.step_func(e => {
61+
assert_unreached('Unexpected delete_rq.error event');
62+
});
63+
64+
delete_rq.onsuccess = t.step_func(e => {
65+
assert_equals(e.oldVersion, 9, 'oldVersion');
66+
assert_equals(e.newVersion, null, 'newVersion');
67+
assert_equals(e.target.result, undefined, 'result');
68+
assert_true(
69+
e instanceof IDBVersionChangeEvent,
70+
'e instanceof IDBVersionChangeEvent');
71+
t.done();
72+
});
73+
});
74+
}, 'The deleteDatabase() request\'s success event is an IDBVersionChangeEvent.');
75+
76+
async_test(t => {
77+
const dbname = location + '-' + t.name;
78+
79+
indexedDB.deleteDatabase(dbname);
80+
81+
let db;
82+
const openrq = indexedDB.open(dbname, 3);
83+
84+
openrq.onupgradeneeded = t.step_func(e => {
85+
e.target.result.createObjectStore('store');
86+
});
87+
88+
openrq.onsuccess = t.step_func(e => {
89+
db = e.target.result;
90+
91+
// Errors
92+
db.onversionchange = fail(t, 'db.versionchange');
93+
db.onerror = fail(t, 'db.error');
94+
db.abort = fail(t, 'db.abort');
95+
96+
step_timeout(t.step_func(() => Second(t, dbname)), 4);
97+
db.close();
98+
});
99+
100+
// Errors
101+
openrq.onerror = fail(t, 'open.error');
102+
openrq.onblocked = fail(t, 'open.blocked');
103+
}, 'Delete an existing database - Test events opening a second \
104+
database when one connection is open already');
105+
106+
function Second(t, dbname) {
107+
const deleterq = indexedDB.deleteDatabase(dbname);
108+
109+
deleterq.onsuccess = e => {
110+
t.done();
111+
};
112+
113+
deleterq.onerror = fail(t, 'delete.error');
114+
deleterq.onblocked = fail(t, 'delete.blocked');
115+
deleterq.onupgradeneeded = fail(t, 'delete.upgradeneeded');
116+
}

testing/web-platform/tests/IndexedDB/idbfactory_deleteDatabase.htm

Lines changed: 0 additions & 25 deletions
This file was deleted.

testing/web-platform/tests/IndexedDB/idbfactory_deleteDatabase2.htm

Lines changed: 0 additions & 27 deletions
This file was deleted.

testing/web-platform/tests/IndexedDB/idbfactory_deleteDatabase3.htm

Lines changed: 0 additions & 33 deletions
This file was deleted.

testing/web-platform/tests/IndexedDB/idbfactory_deleteDatabase4.htm

Lines changed: 0 additions & 62 deletions
This file was deleted.

0 commit comments

Comments
 (0)