Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / imported / web-platform-tests / IndexedDB / idbcursor-key.htm
blobecb282758214d8a4ec8dcc43348c17108628a021
1 <!DOCTYPE html>
2 <title>IDBCursor.key</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>
8 <script>
10 function cursor_key(key)
12 var db,
13 t = async_test(document.title + " - " + key);
15 var open_rq = createdb(t);
16 open_rq.onupgradeneeded = function(e) {
17 db = e.target.result;
18 var objStore = db.createObjectStore("test");
20 objStore.add("data", key);
23 open_rq.onsuccess = t.step_func(function(e) {
24 var cursor_rq = db.transaction("test")
25 .objectStore("test")
26 .openCursor();
28 cursor_rq.onsuccess = t.step_func(function(e) {
29 var cursor = e.target.result;
30 assert_equals(cursor.value, "data", "prequisite cursor.value");
32 assert_key_equals(cursor.key, key, 'key');
33 assert_readonly(cursor, 'key');
35 if (key instanceof Array) {
36 cursor.key.push("new");
37 key.push("new");
39 assert_key_equals(cursor.key, key, 'key after array push');
41 // But we can not change key (like readonly, just a bit different)
42 cursor.key = 10;
43 assert_key_equals(cursor.key, key, 'key after assignment');
46 t.done();
47 });
48 });
51 cursor_key(1);
52 cursor_key("key");
53 cursor_key(["my", "key"]);
55 </script>
57 <div id="log"></div>