blob: 96abe3918a24ead0e9efd85c98a90f60dbcfc5d8 (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 | import test from "ava";
import { BridgeIDBCursor } from "..";
import { BridgeIDBCursorWithValue } from "../bridge-idb";
import { createdb } from "./wptsupport";
// When db.close is called in upgradeneeded, the db is cleaned up on refresh
test.cb("WPT test close-in-upgradeneeded.htm", (t) => {
  var db: any;
  var open_rq = createdb(t);
  var sawTransactionComplete = false;
  open_rq.onupgradeneeded = function (e: any) {
    db = e.target.result;
    t.deepEqual(db.version, 1);
    db.createObjectStore("os");
    db.close();
    e.target.transaction.oncomplete = function () {
      sawTransactionComplete = true;
    };
  };
  open_rq.onerror = function (e: any) {
    t.true(sawTransactionComplete, "saw transaction.complete");
    t.deepEqual(e.target.error.name, "AbortError");
    t.deepEqual(e.result, undefined);
    t.true(!!db);
    t.deepEqual(db.version, 1);
    t.deepEqual(db.objectStoreNames.length, 1);
    t.throws(
      () => {
        db.transaction("os");
      },
      {
        name: "InvalidStateError",
      },
    );
    t.end();
  };
});
 |