<!DOCTYPE html>
<meta charset="utf-8">
<title>IDBObjectStore.index() - returns an index </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;

        db.createObjectStore("store")
          .createIndex("index", "indexedProperty");
    };

    open_rq.onsuccess = function(e) {
        var index = db.transaction("store")
                      .objectStore("store")
                      .index("index");

        assert_true(index instanceof IDBIndex, 'instanceof IDBIndex');
        t.done();
    };

</script>


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

