2 <title>IDBCursor.direction
</title>
3 <link rel=
"author" href=
"mailto:odinho@opera.com" title=
"Odin Hørthe Omdal">
4 <script src=
"../../../resources/testharness.js"></script>
5 <script src=
"../../../resources/testharnessreport.js"></script>
6 <script src=
"support.js"></script>
10 function cursor_direction(constant
, dir
)
13 t
= async_test(document
.title
+ " - " + dir
),
14 expected
= dir
? dir
: "next";
16 var open_rq
= createdb(t
);
18 open_rq
.onupgradeneeded = function(e
) {
20 var objStore
= db
.createObjectStore("test");
22 objStore
.add("data", "key");
25 open_rq
.onsuccess
= t
.step_func(function(e
) {
26 var cursor_rq
, count
= 0;
27 var os
= db
.transaction("test")
30 cursor_rq
= os
.openCursor(undefined, dir
);
32 cursor_rq
= os
.openCursor();
34 cursor_rq
.onsuccess
= t
.step_func(function(e
) {
35 var cursor
= e
.target
.result
;
37 assert_equals(cursor
.direction
, constant
, 'direction constant');
38 assert_equals(cursor
.direction
, expected
, 'direction');
39 assert_readonly(cursor
, 'direction');
46 var cursor_rq2
= db
.transaction("test")
48 .openCursor(undefined, constant
);
50 cursor_rq2
.onsuccess
= t
.step_func(function(e
) {
51 var cursor
= e
.target
.result
;
53 assert_equals(cursor
.direction
, constant
, 'direction constant (second try)');
54 assert_equals(cursor
.direction
, expected
, 'direction (second try)');
55 assert_readonly(cursor
, 'direction');
65 cursor_direction("next");
66 cursor_direction("next", "next");
67 cursor_direction("prev", "prev");
68 cursor_direction("nextunique", "nextunique");
69 cursor_direction("prevunique", "prevunique");