<!DOCTYPE html>
<meta charset="utf-8">
<title>IDBIndex.get() - attempt to retrieve a record that doesn't exist </title>
<link rel="author" title="Microsoft" href="http://www.microsoft.com">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support.js"></script>

<script>
    var db,
      t = async_test();

    var open_rq = createdb(t);
    open_rq.onupgradeneeded = function(e) {
        db = e.target.result;
        var rq = db.createObjectStore("test", { keyPath: "key" })
                   .createIndex("index", "indexedProperty")
                   .get(1);

        rq.onsuccess = t.step_func(function(e) {
            assert_equals(e.target.result, undefined);
            t.done();
        });
    };
</script>

<div id="log"></div>
