https://github.com/web-platform-tests/wpt
Raw File
Tip revision: 3c783dbd4b38e5ff79678daea0d3a4f7f45c110e authored by Aryeh Gregor on 08 April 2014, 14:20:37 UTC
Remove incorrect setAttribute() test
Tip revision: 3c783db
idbindex-multientry-big.htm
<!DOCTYPE html>
<meta charset="utf-8">
<title>IDBIndex.multiEntry - a 1000 entry multiEntry array</title>
<link rel=help href="http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#key-construct">
<link rel=assert title="XXX">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support.js"></script>

<script>
    var db,
        t_add = async_test("Adding one item with 1000 multiEntry keys", { timeout: 10000 }),
        t_get = async_test("Getting the one item by 1000 indeced keys ", { timeout: 10000 })

    var open_rq = createdb(t_add)
    var obj = { test: 'yo', idxkeys: [] }

    for (var i = 0; i < 1000; i++)
        obj.idxkeys.push('index_no_' + i)


    open_rq.onupgradeneeded = function(e) {
        db = e.target.result

        db.createObjectStore('store')
          .createIndex('index', 'idxkeys', { multiEntry: true })
    }
    open_rq.onsuccess = function(e) {
        db.transaction('store', 'readwrite')
          .objectStore('store')
          .put(obj, 1)
          .onsuccess = t_add.step_func(function(e)
        {
            assert_equals(e.target.result, 1, "put'd key")
            this.done()
        })

        var idx = db.transaction('store').objectStore('store').index('index')

        for (var i = 0; i < 1000; i++)
        {
            idx.get('index_no_' + i).onsuccess = t_get.step_func(function(e) {
                assert_equals(e.target.result.test, "yo")
            })
        }

        idx.get('index_no_999').onsuccess = t_get.step_func(function(e) {
            assert_equals(e.target.result.test, "yo")
            assert_equals(e.target.result.idxkeys.length, 1000)
            this.done();
        })
    }
</script>

<div id="log"></div>
back to top