summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/IndexedDB/idbfactory_open7.htm
blob: ccb3d0674893ce4b4066405c6761c160a47ade28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<!DOCTYPE html>
<title>IDBFactory.open() - open database with a higher version than current</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=resources/support.js></script>

<script>
    var open_rq = createdb(async_test(), undefined, 13);
    var did_upgrade = false;
    var open_rq2;

    open_rq.onupgradeneeded = function() {};
    open_rq.onsuccess = function(e) {
        var db = e.target.result;
        db.close();

        open_rq2 = window.indexedDB.open(db.name, 14);
        open_rq2.onupgradeneeded = function() {
            did_upgrade = true;
        };
        open_rq2.onsuccess = this.step_func(open_current_db);
        open_rq2.onerror = fail(this, 'Unexpected error')
    }

    function open_current_db(e) {
        var open_rq3 = window.indexedDB.open(e.target.result.name);
        open_rq3.onsuccess = this.step_func(function(e) {
            assert_equals(e.target.result.version, 14, "db.version")
            open_rq2.result.close();
            open_rq3.result.close();
            this.done();
        });
        open_rq3.onupgradeneeded = fail(this, 'Unexpected upgradeneeded')
        open_rq3.onerror = fail(this, 'Unexpected error')

        assert_true(did_upgrade, 'did upgrade');
    }
</script>

<div id=log></div>