summaryrefslogtreecommitdiffstats
path: root/LayoutTests/storage/indexeddb/script-tests/database-description.js
blob: bb4acba6b0c09629ad8f080cd2202cbe1bb5add3 (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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
description("Test IDBFactory.open's description parameter.");
if (window.layoutTestController)
    layoutTestController.waitUntilDone();

function test()
{
    shouldBeTrue("'indexedDB' in window");
    shouldBeFalse("indexedDB == null");

    result = evalAndLog("indexedDB.open('abcd', 'first')");
    verifyResult(result);
    result.onsuccess = firstSuccess;
    result.onerror = unexpectedErrorCallback;
}

function firstSuccess()
{
    verifySuccessEvent(event);
    window.firstDB = event.result;

    shouldBeEqualToString('event.result.description', 'first');

    result = evalAndLog("indexedDB.open('abcd', 'second')");
    verifyResult(result);
    result.onsuccess = secondSuccess;
    result.onerror = unexpectedErrorCallback;
}

function secondSuccess()
{
    verifySuccessEvent(event);
    window.secondDB = event.result;

    shouldBeEqualToString('firstDB.description', 'first');
    shouldBeEqualToString('secondDB.description', 'second');

    result = evalAndLog("indexedDB.open('abcd')");
    verifyResult(result);
    result.onsuccess = thirdSuccess;
    result.onerror = unexpectedErrorCallback;
}

function thirdSuccess()
{
    verifySuccessEvent(event);

    shouldBeEqualToString('firstDB.description', 'first');
    shouldBeEqualToString('secondDB.description', 'second');
    shouldBeEqualToString('event.result.description', 'second');

    done();
}

test();

var successfullyParsed = true;