dom/indexedDB/test/unit/test_objectStore_remove_values.js

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:7998dc28a3de
1 /**
2 * Any copyright is dedicated to the Public Domain.
3 * http://creativecommons.org/publicdomain/zero/1.0/
4 */
5
6 var testGenerator = testSteps();
7
8 function testSteps()
9 {
10 const name = this.window ? window.location.pathname : "Splendid Test";
11
12 var data = [
13 { name: "inline key; key generator",
14 autoIncrement: true,
15 storedObject: {name: "Lincoln"},
16 keyName: "id",
17 keyValue: undefined,
18 },
19 { name: "inline key; no key generator",
20 autoIncrement: false,
21 storedObject: {id: 1, name: "Lincoln"},
22 keyName: "id",
23 keyValue: undefined,
24 },
25 { name: "out of line key; key generator",
26 autoIncrement: true,
27 storedObject: {name: "Lincoln"},
28 keyName: undefined,
29 keyValue: undefined,
30 },
31 { name: "out of line key; no key generator",
32 autoIncrement: false,
33 storedObject: {name: "Lincoln"},
34 keyName: null,
35 keyValue: 1,
36 }
37 ];
38
39 for (let i = 0; i < data.length; i++) {
40 let test = data[i];
41
42 let request = indexedDB.open(name, i+1);
43 request.onerror = errorHandler;
44 request.onupgradeneeded = grabEventAndContinueHandler;
45 let event = yield undefined;
46
47 let db = event.target.result;
48
49 let objectStore = db.createObjectStore(test.name,
50 { keyPath: test.keyName,
51 autoIncrement: test.autoIncrement });
52
53 request = objectStore.add(test.storedObject, test.keyValue);
54 request.onerror = errorHandler;
55 request.onsuccess = grabEventAndContinueHandler;
56 event = yield undefined;
57
58 let id = event.target.result;
59 request = objectStore.get(id);
60 request.onerror = errorHandler;
61 request.onsuccess = grabEventAndContinueHandler;
62 event = yield undefined;
63
64 // Sanity check!
65 is(test.storedObject.name, event.target.result.name,
66 "The correct object was stored.");
67
68 request = objectStore.delete(id);
69 request.onerror = errorHandler;
70 request.onsuccess = grabEventAndContinueHandler;
71 event = yield undefined;
72
73 // Make sure it was removed.
74 request = objectStore.get(id);
75 request.onerror = errorHandler;
76 request.onsuccess = grabEventAndContinueHandler;
77 event = yield undefined;
78
79 ok(event.target.result === undefined, "Object was deleted");
80 db.close();
81 }
82
83 finishTest();
84 yield undefined;
85 }
86

mercurial