Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / imported / web-platform-tests / IndexedDB / cursor-overloads.htm
blobaffe561ae30475890ccdfd260990051e6d0a5db7
1 <!--
2 Test converted from WebKit:
3 http://trac.webkit.org/browser/trunk/LayoutTests/storage/indexeddb/cursor-overloads.html
4 -->
6 <!DOCTYPE html>
7 <!-- Submitted from TestTWF Paris -->
8 <meta charset=utf-8>
9 <title>Validate the overloads of IDBObjectStore.openCursor(), IDBIndex.openCursor() and IDBIndex.openKeyCursor()</title>
10 <link rel=author href="mailto:romain.huet@gmail.com" title="Romain Huet">
12 <script src=../../../resources/testharness.js></script>
13 <script src=../../../resources/testharnessreport.js></script>
14 <script src=support.js></script>
16 <script>
18 var db, trans, store, index;
19 var t = async_test();
21 var request = createdb(t);
22 request.onupgradeneeded = function(e) {
23 db = request.result;
24 store = db.createObjectStore('store');
25 index = store.createIndex('index', 'value');
26 store.put({value: 0}, 0);
27 trans = request.transaction;
28 trans.oncomplete = verifyOverloads;
31 function verifyOverloads() {
32 trans = db.transaction('store');
33 store = trans.objectStore('store');
34 index = store.index('index');
36 checkCursorDirection("store.openCursor()", "next");
37 checkCursorDirection("store.openCursor(0)", "next");
38 checkCursorDirection("store.openCursor(0, 'next')", "next");
39 checkCursorDirection("store.openCursor(0, 'nextunique')", "nextunique");
40 checkCursorDirection("store.openCursor(0, 'prev')", "prev");
41 checkCursorDirection("store.openCursor(0, 'prevunique')", "prevunique");
43 checkCursorDirection("store.openCursor(IDBKeyRange.only(0))", "next");
44 checkCursorDirection("store.openCursor(IDBKeyRange.only(0), 'next')", "next");
45 checkCursorDirection("store.openCursor(IDBKeyRange.only(0), 'nextunique')", "nextunique");
46 checkCursorDirection("store.openCursor(IDBKeyRange.only(0), 'prev')", "prev");
47 checkCursorDirection("store.openCursor(IDBKeyRange.only(0), 'prevunique')", "prevunique");
49 checkCursorDirection("index.openCursor()", "next");
50 checkCursorDirection("index.openCursor(0)", "next");
51 checkCursorDirection("index.openCursor(0, 'next')", "next");
52 checkCursorDirection("index.openCursor(0, 'nextunique')", "nextunique");
53 checkCursorDirection("index.openCursor(0, 'prev')", "prev");
54 checkCursorDirection("index.openCursor(0, 'prevunique')", "prevunique");
56 checkCursorDirection("index.openCursor(IDBKeyRange.only(0))", "next");
57 checkCursorDirection("index.openCursor(IDBKeyRange.only(0), 'next')", "next");
58 checkCursorDirection("index.openCursor(IDBKeyRange.only(0), 'nextunique')", "nextunique");
59 checkCursorDirection("index.openCursor(IDBKeyRange.only(0), 'prev')", "prev");
60 checkCursorDirection("index.openCursor(IDBKeyRange.only(0), 'prevunique')", "prevunique");
62 checkCursorDirection("index.openKeyCursor()", "next");
63 checkCursorDirection("index.openKeyCursor(0)", "next");
64 checkCursorDirection("index.openKeyCursor(0, 'next')", "next");
65 checkCursorDirection("index.openKeyCursor(0, 'nextunique')", "nextunique");
66 checkCursorDirection("index.openKeyCursor(0, 'prev')", "prev");
67 checkCursorDirection("index.openKeyCursor(0, 'prevunique')", "prevunique");
69 checkCursorDirection("index.openKeyCursor(IDBKeyRange.only(0))", "next");
70 checkCursorDirection("index.openKeyCursor(IDBKeyRange.only(0), 'next')", "next");
71 checkCursorDirection("index.openKeyCursor(IDBKeyRange.only(0), 'nextunique')", "nextunique");
72 checkCursorDirection("index.openKeyCursor(IDBKeyRange.only(0), 'prev')", "prev");
73 checkCursorDirection("index.openKeyCursor(IDBKeyRange.only(0), 'prevunique')", "prevunique");
75 t.done();
78 function checkCursorDirection(statement, direction) {
79 request = eval(statement);
80 request.onsuccess = function(event) {
81 assert_not_equals(event.target.result, null, "Check the result is not null")
82 assert_equals(event.target.result.direction, direction, "Check the result direction");
86 </script>
88 <div id=log></div>