Initial import from the monolithic Qt.
[profile/ivi/qtdeclarative.git] / tests / auto / declarative / qdeclarativexmlhttprequest / data / getResponseHeader.qml
1 import QtQuick 1.0
2
3 QtObject {
4     property string url
5
6     property bool unsentException: false
7     property bool openedException: false
8
9     property bool readyState: false
10     property bool openedState: false
11
12     property bool headersReceivedState: false
13     property bool headersReceivedNullHeader: false
14     property bool headersReceivedValidHeader: false
15     property bool headersReceivedMultiValidHeader: false
16     property bool headersReceivedCookieHeader: false
17
18     property bool doneState: false
19     property bool doneNullHeader: false
20     property bool doneValidHeader: false
21     property bool doneMultiValidHeader: false
22     property bool doneCookieHeader: false
23
24     property bool dataOK: false
25
26     Component.onCompleted: {
27         var x = new XMLHttpRequest;
28
29         try {
30             x.getResponseHeader("Test-Header");
31         } catch (e) {
32             if (e.code == DOMException.INVALID_STATE_ERR)
33                 unsentException = true;
34         }
35
36         if (x.readyState == XMLHttpRequest.UNSENT)
37             readyState = true;
38
39         x.open("GET", url);
40         x.setRequestHeader("Accept-Language", "en-US");
41
42         if (x.readyState  == XMLHttpRequest.OPENED)
43             openedState = true;
44
45         try {
46             x.getResponseHeader("Test-Header");
47         } catch (e) {
48             if (e.code == DOMException.INVALID_STATE_ERR)
49                 openedException = true;
50         }
51
52         // Test to the end
53         x.onreadystatechange = function() {
54             if (x.readyState == XMLHttpRequest.HEADERS_RECEIVED) {
55                 headersReceivedState = true;
56
57                 headersReceivedNullHeader = (x.getResponseHeader("Nonexistant-header") == "");
58                 headersReceivedValidHeader = (x.getResponseHeader("Test-HEAder") == "TestValue");
59                 headersReceivedMultiValidHeader = (x.getResponseHeader("MultiTest-HEAder") == "TestValue, SecondTestValue");
60                 headersReceivedCookieHeader = (x.getResponseHeader("Set-Cookie") == "" && x.getResponseHeader("Set-Cookie2") == "");
61             } else if (x.readyState == XMLHttpRequest.DONE) {
62                 doneState = headersReceivedState && true;
63
64                 doneNullHeader = (x.getResponseHeader("Nonexistant-header") == "");
65                 doneValidHeader = (x.getResponseHeader("Test-HEAder") == "TestValue");
66                 doneMultiValidHeader = (x.getResponseHeader("MultiTest-HEAder") == "TestValue, SecondTestValue");
67                 doneCookieHeader = (x.getResponseHeader("Set-Cookie") == "" && x.getResponseHeader("Set-Cookie2") == "");
68                 dataOK = (x.responseText == "QML Rocks!\n");
69             }
70         }
71
72         x.send()
73     }
74 }
75
76