tests/auto/declarative/qdeclarativexmlhttprequest/data/getAllResponseHeaders.qml
changeset 30 5dc02b23752f
equal deleted inserted replaced
29:b72c6db6890b 30:5dc02b23752f
       
     1 import Qt 4.7
       
     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 headersReceivedHeader: false
       
    14 
       
    15     property bool doneState: false
       
    16     property bool doneHeader: false
       
    17 
       
    18     property bool dataOK: false
       
    19 
       
    20     Component.onCompleted: {
       
    21         var x = new XMLHttpRequest;
       
    22 
       
    23 	try {
       
    24 	    x.getResponseHeader("Test-Header");
       
    25 	} catch (e) {
       
    26 	    if (e.code == DOMException.INVALID_STATE_ERR)
       
    27 		unsentException = true;
       
    28 	}
       
    29 
       
    30         if (x.readyState == XMLHttpRequest.UNSENT)
       
    31             readyState = true;
       
    32 
       
    33         x.open("GET", url);
       
    34         x.setRequestHeader("Accept-Language", "en-US");
       
    35 
       
    36         if (x.readyState  == XMLHttpRequest.OPENED)
       
    37             openedState = true;
       
    38 
       
    39 	try {
       
    40 	    x.getResponseHeader("Test-Header");
       
    41 	} catch (e) {
       
    42 	    if (e.code == DOMException.INVALID_STATE_ERR)
       
    43 		openedException = true;
       
    44 	}
       
    45 
       
    46         var headers = "connection: close\r\ncontent-type: text/html; charset=UTF-8\r\ntest-header: TestValue\r\nmultitest-header: TestValue, SecondTestValue\r\ncontent-length: 11";
       
    47 
       
    48         // Test to the end
       
    49         x.onreadystatechange = function() {
       
    50 	    if (x.readyState == XMLHttpRequest.HEADERS_RECEIVED) {
       
    51 		headersReceivedState = true;
       
    52 
       
    53 		headersReceivedHeader = (x.getAllResponseHeaders() == headers);
       
    54 	    } else if (x.readyState == XMLHttpRequest.DONE) {
       
    55 		doneState = headersReceivedState && true;
       
    56 
       
    57 		doneHeader = (x.getAllResponseHeaders() == headers);
       
    58                 dataOK = (x.responseText == "QML Rocks!\n");
       
    59             }
       
    60         }
       
    61 
       
    62         x.send()
       
    63     }
       
    64 }
       
    65 
       
    66