summaryrefslogtreecommitdiffstats
path: root/tests/auto/declarative/qdeclarativexmlhttprequest/data/status.qml
blob: 7aa08743ff461158afbcf8c70b3e7675ee9c3388 (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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import QtQuick 1.0

QtObject {
    property string url
    property int expectedStatus

    property bool unsentException: false;
    property bool openedException: false;
    property bool sentException: false;

    property bool headersReceived: false
    property bool loading: false
    property bool done: false

    property bool resetException: false

    property bool dataOK: false

    Component.onCompleted: {
        var x = new XMLHttpRequest;

	try {
	    var a = x.status;
	} catch (e) {
	    if (e.code == DOMException.INVALID_STATE_ERR)
		unsentException = true;
	}

        x.open("GET", url);
        x.setRequestHeader("Accept-Language", "en-US");

	try {
	    var a = x.status;
	} catch (e) {
	    if (e.code == DOMException.INVALID_STATE_ERR)
		openedException = true;
	}

        // Test to the end
        x.onreadystatechange = function() {
            if (x.readyState == XMLHttpRequest.HEADERS_RECEIVED) {
                if (x.status == expectedStatus)
                    headersReceived = true;
            } else if (x.readyState == XMLHttpRequest.LOADING) {
                if (x.status == expectedStatus)
                    loading = true;
            } else if (x.readyState == XMLHttpRequest.DONE) {
                if (x.status == expectedStatus)
                    done = true;

                if (expectedStatus == 404) {
                    dataOK = (x.responseText == "");
                } else {
                    dataOK = (x.responseText == "QML Rocks!\n");
                }

                x.open("GET", url);
                x.setRequestHeader("Accept-Language", "en-US");

                try {
                    var a = x.status;
                } catch (e) {
                    if (e.code == DOMException.INVALID_STATE_ERR)
                        resetException = true;
                }

            }
        }

        x.send()

	try {
	    var a = x.status;
	} catch (e) {
	    if (e.code == DOMException.INVALID_STATE_ERR)
		sentException = true;
	}
    }
}