<!DOCTYPE html>
<meta charset="utf-8">
<title>IDBObjectStore.createIndex() - empty keyPath</title>
<link rel="author" href="mailto:odinho@opera.com" title="Odin Hørthe Omdal">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support.js"></script>

<script>
    var db, aborted,
      t = async_test(document.title, {timeout: 10000})

    var open_rq = createdb(t);
    open_rq.onupgradeneeded = function(e) {
        db = e.target.result;
        var txn = e.target.transaction,
          objStore = db.createObjectStore("store");

        for (var i = 0; i < 5; i++)
            objStore.add("object_" + i, i);

        var rq = objStore.createIndex("index", "")
        rq.onerror = function() { assert_unreached("error: " + rq.error.name); }
        rq.onsuccess = function() { }

        objStore.index("index")
                .get('object_4')
                .onsuccess = t.step_func(function(e) {
            assert_equals(e.target.result, 'object_4', 'result');
        });
    }

    open_rq.onsuccess = function() {
        t.done();
    }
</script>

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