W3C XMLHttpRequest Level 1 Test Result

* To contributors: please make a PR on any invalid test results. Updating with the links to filed bugs are very welcome!

Test WebKit Blink Gecko Trident Presto Remark
FormData-append.html Pass Pass Pass Pass Blink: abort() should not be called in this case.
abort-after-receive.htm Fail Pass Pass Pass Blink: abort() should not be called in this case.
abort-after-send.htm Fail 918703 Fail Fail -
abort-after-stop.htm Pass 918703 Fail Fail -
abort-after-timeout.htm Fail Pass Fail Pass Blink, Trident: abort() should not be called in this case.
abort-during-done.htm Pass Pass Pass Fail -
abort-during-open.htm Pass 918705 Pass Pass Gecko: exception should be checked.
abort-during-unsent.htm Pass Pass Pass Pass -
abort-during-upload.htm Fail 918703 Fail Fail -
abort-event-abort.htm Fail 918705 Pass Pass Blink: abort() should not be called in this case
Gecko: exception should be checked.
abort-event-listeners.htm* Pass Pass Pass Pass TC required?
abort-event-loadend.htm Pass Pass Pass Pass -
abort-event-order.htm* Fail Fail Fail Fail TC: need to add progress events and change the event order to the upload object and xhr object.
abort-upload-event-abort.htm Pass Pass Fail Fail -
abort-upload-event-loadend.htm Pass Pass Fail Fail -
event-abort.htm Pass Pass Pass Pass -
event-load.htm Pass Pass Pass Pass -
event-loadend.htm Pass Pass Pass Pass -
event-loadstart.htm Pass Pass Pass Pass -
event-progress.htm Pass Pass Pass Pass -
event-readystatechange-loaded.htm Timeout Pass Fail Pass All except Presto: fire multiple "LOADING"
event-timeout.htm Pass Pass Fail Pass Trident: throws InvalidStateError
event-upload-progress.htm Pass Pass Pass Pass Gecko: does not fire progress event during upload
formdata.htm Pass Pass Pass Pass Gecko: Harness error
getallresponseheaders-cookies.htm Fail Pass Pass Pass Blink: need to address to not throw but return empty string.
getallresponseheaders-status.htm Fail Pass Pass Pass Blink: need to address to not throw but return empty string.
getresponseheader-case-insensitive.htm Pass Pass Pass Pass -
getresponseheader-chunked-trailer.htm Pass Pass Pass Fail -
getresponseheader-cookies-and-more.htm Fail 918721 Pass Pass Blink: need to address to not throw but return null
Gecko: existing header with empty value?
getresponseheader-error-state.htm Fail Pass Pass Pass Better to check valid response header in error case?
getresponseheader-server-date.htm Pass Pass Pass Pass -
getresponseheader-special-characters.htm Pass Pass Fail Pass Trident: ignore white space in the header name.
getresponseheader-unsent-opened-state.htm Fail Pass Pass Pass Blink: need to address to not throw but return null.
interfaces.html Fail(Partial) Fail(Partial) Fail(Partial) Fail(Partial) -
open-after-abort.htm Pass Pass Fail Pass Trident: has one more readystatechange e with readyState === 1.
open-after-setrequestheader.htm Pass Pass Pass Pass -
open-method-bogus.htm Pass Fail Pass Pass Gecko: exception should be checked.
open-method-case-insensitive.htm Pass Pass Pass Pass -
open-method-case-sensitive.htm Fail(Partial) Pass Pass Pass Blink, Gecko: return modified values.
open-method-insecure.htm Pass Pass Pass Pass Gecko: exception should be checked; does not throw for CONNECT.
open-method-responsetype-set-sync.htm Fail(Partial) Fail Fail Fail Gecko, Trident, Presto: need to address
Trident: throws InvalidStateError.
open-open-send.htm Pass 447689 Fail Pass Gecko, Trident: need to address; readystatechange fires for open-open.
open-open-sync-send.htm Pass 447689 Fail Fail Gecko, Trident: need to address; readystatechange fires for open-open.
Presto: need to address.
open-referer.htm Pass Pass Pass Pass -
open-send-open.htm Pass 447689 Fail Fail Gecko, Trident: need to address; FF fires 1 4 1 and IE fires 1 1 1 while 1 is expected.
open-sync-open-send.htm Fail 918736 Fail Fail Blink: xhr.status must return 0 if the state is OPENED rather than raise error
Gecko, Trident: need to address; FF fires 1 4 1 and IE fires 1 1 1 while 1 is expected.
open-url-about-blank-window.htm Pass Pass Pass Fail Presto: need to address.
open-url-base-inserted-after-open.htm Pass Pass Pass Pass -
open-url-base-inserted.htm Pass Pass Pass Pass -
open-url-base.htm Pass Pass Pass Pass -
open-url-bogus.htm* Fail Fail Fail Fail Further TC examination required: "http:"
Blink: does not throw.
Gecko: exception should be checked; "http:" parsing should be checked.
open-url-encoding.htm Fail Pass Fail Pass Check the encoded string.
open-url-fragment.htm Pass Pass Fail(Partial) Pass Trident: need to address.
open-url-javascript-window-2.htm Pass Pass Pass Fail Presto: need to address.
open-url-javascript-window.htm Pass Pass Pass Pass -
open-url-multi-window-2.htm Fail 918734 Fail Fail All: need to address.
Blink, Trident: do not throw.
Gecko raises Unexpected error.
open-url-multi-window-3.htm Fail 918734 Fail Fail send() with no document should be allowed or not?
Spec does not say anything; Hallvord made a PR to WHATWG with wording for this.
open-url-multi-window-4.htm Timeout Timeout Fail Timeout send() with no document should be allowed or not?
Spec does not say anything; Hallvord made a PR to WHATWG with wording for this.
open-url-multi-window-5.htm Fail 918734 Fail Fail open() with reloaded document should be allowed or not? Currently spec does not say anything.
open-url-multi-window.htm Pass Pass Pass Pass -
open-url-worker-origin.htm Pass Pass Pass Pass -
open-url-worker-simple.htm Pass Pass Pass Pass -
open-user-password-non-same-origin.htm Pass Pass Fail Pass Trident: need to address.
overridemimetype-done-state.htm Fail 918733 Fail Fail Blink, Gecko: does not throw in state 4.
Trident: TypeError rather than InvalidStateError.
overridemimetype-headers-received-state-force-shiftjis.htm Fail Pass Fail Fail Blink: need to address.
Trident: throws in state 2.
overridemimetype-invalid-mime-type.htm Fail 918731 Fail Fail Blink, Gecko: does not throw in certain case.
Trident: TypeError rather than SyntaxError. Spec needs change for TypeError?
overridemimetype-loading-state.htm Timeout Pass NotRun NotRun Harness error?
overridemimetype-open-state-force-utf-8.htm Pass Pass Fail Pass Trident: overrideMimeType not supported.
overridemimetype-open-state-force-xml.htm Pass Pass Fail Pass Trident: overrideMimeType not supported.
overridemimetype-unsent-state-force-shiftjis.htm Pass Pass Fail Pass Trident: overrideMimeType not supported.
progress-events-response-data-gzip.htm Fail Fail Fail -
response-data-arraybuffer.htm Pass Pass Pass Pass -
response-data-blob.htm Pass Pass Pass Pass -
response-data-gzip.htm* Pass Pass Fail Pass Trident: need to address; TC relevant?
response-data-progress.htm Pass Pass Pass Pass -
response-json.htm* Fail Pass Fail Pass Not supported in Level 1. TC error?
responsetext-decoding.htm Fail(Partial) Fail(Partial) Fail(Partial) Fail(Partial) -
responsetype.html* Fail(Partial) Pass Fail(Partial) Pass Trident: fails with "json".
TC needs correction.
responsexml-basic.htm Fail(Partial) Pass Pass Fail(Partial) -
responsexml-document-properties.htm Fail(Partial) 918768, 918773 Fail(Partial) Fail(Partial) -
responsexml-media-type.htm Fail(Partial) Fail(Partial) Fail(Partial) Fail(Partial) -
responsexml-non-document-types.htm Fail(Partial) 707484 Fail Pass -
responsexml-non-well-formed.htm Pass Pass Pass Pass -
send-accept-language.htm Pass Pass Pass Pass -
send-accept.htm Pass 918752 Pass Fail Blink: setRequestHeader("Accept", custom-value); is not effective.
Gecko: default Accept header value is set by Browser.
It seems browsers have their own default Accept header; Should it be allowed to replace the value with setRequestHeader()? or append?
send-after-setting-document-domain.htm Fail(Partial) 918751 Fail(Partial) Pass -
send-authentication-basic-cors-not-enabled.htm* Fail Fail Fail Pass TC error: open() should throw "InvalidAccessError".
send-authentication-basic-cors.htm Pass Fail Fail Pass -
send-authentication-basic-repeat-no-args.htm Pass Pass Pass Pass -
send-authentication-basic-setrequestheader-existing-session.htm Fail Fail Fail Fail It seems the error comes from server side. File open in php code fails?
send-authentication-basic-setrequestheader.htm Pass Pass Pass Pass -
send-authentication-basic.htm Pass Pass Fail Fail It seems the error comes from server side. File open in php code fails?
send-authentication-competing-names-passwords.htm Fail(Partial) Pass Fail Fail(Partial) -
send-authentication-cors-basic-setrequestheader.htm Pass Fail Fail Fail -
send-authentication-existing-session-manual.htm Pass Pass Pass Pass Blink, Gecko: fail when trying with the existing browser cache.
send-authentication-prompt-2-manual.htm Fail Pass Pass Pass -
send-authentication-prompt-manual.htm Fail Fail Fail Pass -
send-conditional.htm Fail Pass Fail Fail -
send-content-type-charset.htm Fail(Partial) 918742 Fail(Partial) Pass -
send-content-type-string.htm Fail 918739 Pass Fail(Partial) Blink: Harness encountered an error.
send-data-arraybuffer.htm Pass Pass Pass Pass -
send-data-blob.htm Pass Pass Pass Pass -
send-data-formdata.htm Pass Pass Pass Pass -
send-entity-body-basic.htm Pass 918760 Pass Pass -
send-entity-body-document-bogus.htm Fail Fail Fail Fail -
send-entity-body-document.htm Fail Fail(Partial) Fail Fail Blink, Trident: Harness encountered an error.
send-entity-body-empty.htm Pass Pass Pass Pass -
send-entity-body-get-head-async.htm Fail(Partial) Pass Fail(Partial) Pass -
send-entity-body-get-head.htm Fail(Partial) Pass Fail(Partial) Pass -
send-entity-body-none.htm Pass Pass Pass Pass -
send-no-response-event-loadend.htm Pass Pass Pass Pass -
send-no-response-event-loadstart.htm Pass Pass Pass Pass -
send-no-response-event-order.htm Pass Pass Pass Pass -
send-redirect-bogus-sync.htm Fail 918751 Pass Fail(Partial) -
send-redirect-bogus.htm Pass 918772 Pass Fail(Partial) -
send-redirect-infinite-sync.htm Fail 918751 Pass - Presto: test does not end.
send-redirect-infinite.htm Pass Pass NotRun NotRun -
send-redirect-no-location.htm Fail Pass Fail Pass -
send-redirect-to-cors.htm Fail 918767 Fail Fail -
send-redirect-to-non-cors.htm Pass Pass Pass Pass -
send-redirect.htm Fail(Partial) Pass Fail Pass -
send-response-event-order.htm Pass Pass Pass Pass -
send-response-upload-event-loadend.htm Pass Pass Pass Pass -
send-response-upload-event-loadstart.htm Pass Pass Pass Pass -
send-response-upload-event-progress.htm Pass Pass Pass Pass -
send-send.htm Pass 918705 Pass Pass -
send-sync-blocks-async.htm Pass Fail Fail -
send-sync-no-response-event-load.htm Pass Pass Pass Pass -
send-sync-no-response-event-loadend.htm Pass Pass Pass Pass -
send-sync-no-response-event-order.htm Pass Pass Pass Pass -
send-sync-response-event-order.htm Pass Pass Pass Pass -
send-sync-timeout.htm Pass Pass Pass Fail -
send-timeout-events.htm Fail 908375 Pass Fail -
setrequestheader-after-send.htm Pass Pass Pass Pass -
setrequestheader-allow-empty-value.htm Pass Pass Pass Pass -
setrequestheader-before-open.htm Pass Pass Pass Pass -
setrequestheader-bogus-name.htm Pass 918764 Fail(Partial) Pass -
setrequestheader-bogus-value.htm Fail(Partial) 918764 Fail(Partial) Fail(Partial) -
setrequestheader-case-insensitive.htm Pass 918763 Pass Pass -
setrequestheader-header-allowed.htm Fail(Partial) 918763 Fail(Partial) Fail(Partial) -
setrequestheader-header-forbidden.htm Fail Pass Pass Pass -
setrequestheader-invalid-arguments.htm Pass Pass Pass Pass -
setrequestheader-open-setrequestheader.htm Pass Pass Pass Pass -
status-async.htm Fail Pass Pass Pass -
status-basic.htm Fail Pass Pass Pass -
status-error.htm Pass Pass Fail Pass -
timeout-cors-async.htm Pass Pass Fail Fail -
timeout-sync.htm Pass Pass Fail Fail -
withcredentials-set.htm Pass 707484 Fail(Partial) Pass -
withcredentials-wrong-state.htm Pass 918777 Pass Pass -
xmlhttprequest-basic.htm Pass Pass Pass Pass -
xmlhttprequest-eventtarget.htm Pass Pass Fail Pass -
xmlhttprequest-network-error-sync.htm Fail 918751 Pass - Presto: test does not end.
xmlhttprequest-network-error.htm Fail Fail Timeout Timeout -
xmlhttprequest-timeout-aborted.html* Pass Pass Pass - -
xmlhttprequest-timeout-abortedonmain.html Pass Pass Pass Pass -
xmlhttprequest-timeout-overrides.html Fail(Partial) Pass Fail Fail(Partial) Trident: Harness encountered an error.
xmlhttprequest-timeout-overridesexpires.html Fail(Partial) Fail(Partial) Fail(Partial) Fail(Partial) Trident: Harness encountered an error.
xmlhttprequest-timeout-simple.html Pass Pass Fail(Partial) Fail(Partial) -
xmlhttprequest-timeout-synconmain.html Pass Pass Fail Fail(Partial) Trident: Harness encountered an error.
xmlhttprequest-timeout-twice.html Pass Pass Fail(Partial) Fail(Partial) Trident: Harness encountered an error.
xmlhttprequest-timeout-worker-aborted.html Pass Pass Pass Pass Blink: All test assertions are passed but Harness encountered an error: duplicate test name.
xmlhttprequest-timeout-worker-overrides.html Fail(Partial) Pass Fail Fail(Partial) Trident: Harness encountered an error.
xmlhttprequest-timeout-worker-overridesexpires.html Fail(Partial) Pass Fail(Partial) Fail(Partial) Trident: Harness encountered an error.
xmlhttprequest-timeout-worker-simple.html Pass Pass Pass Pass -
xmlhttprequest-timeout-worker-synconworker.html* Pass Pass Pass Fail(Partial) TC error? Not consistent to test clients.
xmlhttprequest-timeout-worker-twice.html Pass Pass Fail Pass Trident: Harness encountered an error.
xmlhttprequest-unsent.htm Fail 918705 Pass Pass -

* Last update: 26th of Oct, 2014