2 <title>IDBCursor.primaryKey
</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_primarykey(key
)
13 t
= async_test(document
.title
+ " - " + key
);
15 var open_rq
= createdb(t
);
16 open_rq
.onupgradeneeded = function(e
) {
18 var objStore
= db
.createObjectStore("test");
19 objStore
.createIndex("index", "");
21 objStore
.add("data", key
);
24 open_rq
.onsuccess
= t
.step_func(function(e
) {
25 var cursor_rq
= db
.transaction("test")
30 cursor_rq
.onsuccess
= t
.step_func(function(e
) {
31 var cursor
= e
.target
.result
;
33 assert_equals(cursor
.value
, "data", "prequisite cursor.value");
34 assert_equals(cursor
.key
, "data", "prequisite cursor.key");
36 assert_key_equals(cursor
.primaryKey
, key
, 'primaryKey');
37 assert_readonly(cursor
, 'primaryKey');
39 if (key
instanceof Array
) {
40 cursor
.primaryKey
.push("new");
43 assert_key_equals(cursor
.primaryKey
, key
, 'primaryKey after array push');
45 // But we can not change key (like readonly, just a bit different)
47 assert_key_equals(cursor
.primaryKey
, key
, 'key after assignment');
56 cursor_primarykey("key");
57 cursor_primarykey(["my", "key"]);