OLD | NEW |
| (Empty) |
1 <!doctype html> | |
2 <meta charset=utf-8> | |
3 <title>IndexedDB IDL tests</title> | |
4 <script src=../../../resources/testharness.js></script> | |
5 <script src=../../../resources/testharnessreport.js></script> | |
6 <script src=/resources/WebIDLParser.js></script> | |
7 <script src=/resources/idlharness.js></script> | |
8 <script src=support.js></script> | |
9 | |
10 <h1>IndexedDB IDL tests</h1> | |
11 <div id=log></div> | |
12 | |
13 <script type=text/plain> | |
14 enum IDBTransactionMode { | |
15 "readonly", | |
16 "readwrite", | |
17 "versionchange" | |
18 }; | |
19 | |
20 enum IDBRequestReadyState { | |
21 "pending", | |
22 "done" | |
23 }; | |
24 | |
25 interface IDBKeyRange { | |
26 readonly attribute any lower; | |
27 readonly attribute any upper; | |
28 readonly attribute boolean lowerOpen; | |
29 readonly attribute boolean upperOpen; | |
30 static IDBKeyRange only (any value); | |
31 static IDBKeyRange lowerBound (any lower, optional boolean open = false); | |
32 static IDBKeyRange upperBound (any upper, optional boolean open = false); | |
33 static IDBKeyRange bound (any lower, any upper, optional boolean lowerOpen =
false, optional boolean upperOpen = false); | |
34 }; | |
35 | |
36 enum IDBCursorDirection { | |
37 "next", | |
38 "nextunique", | |
39 "prev", | |
40 "prevunique" | |
41 }; | |
42 | |
43 dictionary IDBObjectStoreParameters { | |
44 (DOMString or sequence<DOMString>)? keyPath = null; | |
45 boolean autoIncrement = false; | |
46 }; | |
47 | |
48 dictionary IDBIndexParameters { | |
49 boolean unique = false; | |
50 boolean multiEntry = false; | |
51 }; | |
52 | |
53 dictionary IDBVersionChangeEventInit : EventInit { | |
54 unsigned long long oldVersion = 0; | |
55 unsigned long long? newVersion = null; | |
56 }; | |
57 | |
58 interface IDBRequest : EventTarget { | |
59 readonly attribute any result; | |
60 readonly attribute DOMError error; | |
61 readonly attribute (IDBObjectStore or IDBIndex or IDBCursor)? source; | |
62 readonly attribute IDBTransaction transaction
; | |
63 readonly attribute IDBRequestReadyState readyState; | |
64 attribute EventHandler onsuccess; | |
65 attribute EventHandler onerror; | |
66 }; | |
67 | |
68 interface IDBOpenDBRequest : IDBRequest { | |
69 attribute EventHandler onblocked; | |
70 attribute EventHandler onupgradeneeded; | |
71 }; | |
72 | |
73 [Constructor(DOMString type, optional IDBVersionChangeEventInit eventInitDict)] | |
74 interface IDBVersionChangeEvent : Event { | |
75 readonly attribute unsigned long long oldVersion; | |
76 readonly attribute unsigned long long? newVersion; | |
77 }; | |
78 | |
79 Window implements IDBEnvironment; | |
80 WorkerUtils implements IDBEnvironment; | |
81 | |
82 [NoInterfaceObject] | |
83 interface IDBEnvironment { | |
84 readonly attribute IDBFactory indexedDB; | |
85 }; | |
86 | |
87 interface IDBFactory { | |
88 IDBOpenDBRequest open (DOMString name, [EnforceRange] optional unsigned long
long version); | |
89 IDBOpenDBRequest deleteDatabase (DOMString name); | |
90 short cmp (any first, any second); | |
91 }; | |
92 | |
93 interface IDBDatabase : EventTarget { | |
94 readonly attribute DOMString name; | |
95 readonly attribute unsigned long long version; | |
96 readonly attribute DOMStringList objectStoreNames; | |
97 IDBObjectStore createObjectStore (DOMString name, optional IDBObjectStorePar
ameters optionalParameters); | |
98 void deleteObjectStore (DOMString name); | |
99 IDBTransaction transaction ((DOMString or sequence<DOMString>) storeNames, o
ptional IDBTransactionMode mode = "readonly"); | |
100 void close (); | |
101 attribute EventHandler onabort; | |
102 attribute EventHandler onerror; | |
103 attribute EventHandler onversionchange; | |
104 }; | |
105 | |
106 interface IDBObjectStore { | |
107 readonly attribute DOMString name; | |
108 readonly attribute any keyPath; | |
109 readonly attribute DOMStringList indexNames; | |
110 readonly attribute IDBTransaction transaction; | |
111 readonly attribute boolean autoIncrement; | |
112 IDBRequest put (any value, optional any key); | |
113 IDBRequest add (any value, optional any key); | |
114 IDBRequest delete (any key); | |
115 IDBRequest get (any key); | |
116 IDBRequest clear (); | |
117 IDBRequest openCursor (optional any range, optional IDBCursorDirection direc
tion = "next"); | |
118 IDBIndex createIndex (DOMString name, (DOMString or sequence<DOMString>) k
eyPath, optional IDBIndexParameters optionalParameters); | |
119 IDBIndex index (DOMString name); | |
120 void deleteIndex (DOMString indexName); | |
121 IDBRequest count (optional any key); | |
122 }; | |
123 | |
124 interface IDBIndex { | |
125 readonly attribute DOMString name; | |
126 readonly attribute IDBObjectStore objectStore; | |
127 readonly attribute any keyPath; | |
128 readonly attribute boolean multiEntry; | |
129 readonly attribute boolean unique; | |
130 IDBRequest openCursor (optional any range, optional IDBCursorDirection direc
tion = "next"); | |
131 IDBRequest openKeyCursor (optional any range, optional IDBCursorDirection di
rection = "next"); | |
132 IDBRequest get (any key); | |
133 IDBRequest getKey (any key); | |
134 IDBRequest count (optional any key); | |
135 }; | |
136 | |
137 interface IDBCursor { | |
138 readonly attribute (IDBObjectStore or IDBIndex) source; | |
139 readonly attribute IDBCursorDirection direction; | |
140 readonly attribute any key; | |
141 readonly attribute any primaryKey; | |
142 IDBRequest update (any value); | |
143 void advance ([EnforceRange] unsigned long count); | |
144 void continue (optional any key); | |
145 IDBRequest delete (); | |
146 }; | |
147 | |
148 interface IDBCursorWithValue : IDBCursor { | |
149 readonly attribute any value; | |
150 }; | |
151 | |
152 interface IDBTransaction : EventTarget { | |
153 readonly attribute IDBTransactionMode mode; | |
154 readonly attribute IDBDatabase db; | |
155 readonly attribute DOMError error; | |
156 IDBObjectStore objectStore (DOMString name); | |
157 void abort (); | |
158 attribute EventHandler onabort; | |
159 attribute EventHandler oncomplete; | |
160 attribute EventHandler onerror; | |
161 }; | |
162 </script> | |
163 | |
164 <script type="text/plain" class="untested"> | |
165 interface Window { }; | |
166 | |
167 interface WorkerUtils { }; | |
168 | |
169 interface EventTarget { }; | |
170 </script> | |
171 | |
172 <script> | |
173 "use strict"; | |
174 setup(function() { | |
175 var idlArray = new IdlArray(); | |
176 | |
177 [].forEach.call(document.querySelectorAll("script[type=text\\/plain]"), functi
on(node) { | |
178 if (node.className == "untested") { | |
179 idlArray.add_untested_idls(node.textContent); | |
180 } else { | |
181 idlArray.add_idls(node.textContent); | |
182 } | |
183 }); | |
184 | |
185 idlArray.add_objects({ | |
186 IDBKeyRange: [], | |
187 IDBRequest: [], | |
188 IDBOpenDBRequest: [], | |
189 IDBEnvironment: [], | |
190 IDBVersionChangeEvent: ['new IDBVersionChangeEvent("foo")'], | |
191 IDBFactory: ['window.indexedDB'], | |
192 IDBDatabase: [], | |
193 IDBObjectStore: [], | |
194 IDBIndex: [], | |
195 IDBCursor: [], | |
196 IDBCursorWithValue: [], | |
197 IDBTransaction: [] | |
198 }); | |
199 | |
200 idlArray.test(); | |
201 }); | |
202 </script> | |
203 | |
OLD | NEW |