| <!DOCTYPE html> |
| <title>IndexedDB: Reading cursor value after advancing past range</title> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| <script src="resources/testharness-helpers.js"></script> |
| <script> |
| |
| // A regression test for http://crbug.com/487711 |
| indexeddb_test( |
| function(t, db) { |
| var store = db.createObjectStore('store'); |
| for (var i = 0; i < 10; ++i) |
| store.put(i, i); |
| }, |
| function(t, db) { |
| var transaction = db.transaction('store', 'readonly'); |
| var store = transaction.objectStore('store'); |
| var req = store.openCursor(); |
| var last_cursor; |
| req.onsuccess = t.step_func(function(evt) { |
| var cursor = evt.target.result; |
| if (cursor) { |
| last_cursor = cursor; |
| cursor.continue(); |
| } else { |
| assert_equals(last_cursor.value, undefined); |
| t.done(); |
| } |
| }); |
| req.onerror = t.step_func(function() { |
| assert_unreached('open should not fail'); |
| }); |
| }, |
| 'Access to cursor value after final advance should be undefined' |
| ); |
| |
| </script> |