Skip to content

Commit

Permalink
adding getResponseURL and changing names of events
Browse files Browse the repository at this point in the history
  • Loading branch information
ryscheng committed Jan 8, 2015
1 parent c85542e commit 9ae4214
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 11 deletions.
16 changes: 9 additions & 7 deletions interface/core.xhr.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,19 +31,21 @@
"getReadyState": { "type": "method", "value": [], "ret": "number" },
"getResponse": { "type": "method", "value": [], "ret": { "string": "string", "buffer": "buffer", "object": "object" } },
"getResponseText": { "type": "method", "value": [], "ret": "string" },
"getResponseURL": { "type": "method", "value": [], "ret": "string" },
"getResponseType": { "type": "method", "value": [], "ret": "string" },
"setResponseType": { "type": "method", "value": [ "string" ] },
"getStatus": { "type": "method", "value": [], "ret": "number" },
"getStatusText": { "type": "method", "value": [], "ret": "string" },
"getTimeout": { "type": "method", "value": [], "ret": "number" },
"setTimeout": { "type": "method", "value": [ "number" ] },

"progress": { "type": "event", "value": {} },
"load": { "type": "event", "value": {} },
"error": { "type": "event", "value": {} },
"abort": { "type": "event", "value": {} },
"timeout": { "type": "event", "value": {} },
"loadend": { "type": "event", "value": {} },
"readystatechange": { "type": "event", "value": {} }
"onloadstart": { "type": "event", "value": {} },
"onprogress": { "type": "event", "value": {} },
"onabort": { "type": "event", "value": {} },
"onerror": { "type": "event", "value": {} },
"onload": { "type": "event", "value": {} },
"ontimeout": { "type": "event", "value": {} },
"onloadend": { "type": "event", "value": {} },
"onreadystatechange": { "type": "event", "value": {} }
}
}
12 changes: 9 additions & 3 deletions providers/core/core.xhr.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@ var XhrProvider = function(cap, dispatchEvent) {
this._xhr = new XMLHttpRequest();

this._events = [
"loadstart",
"progress",
"load",
"error",
"abort",
"error",
"load",
"timeout",
"loadend",
"readystatechange"
Expand Down Expand Up @@ -99,6 +100,11 @@ XhrProvider.prototype.getResponseText = function() {
return PromiseCompat.resolve(this._xhr.responseText);
};

XhrProvider.prototype.getResponseURL = function() {
"use strict";
return PromiseCompat.resolve(this._xhr.responseURL);
};

XhrProvider.prototype.getResponseType = function() {
"use strict";
return PromiseCompat.resolve(this._xhr.responseType);
Expand Down Expand Up @@ -135,7 +141,7 @@ XhrProvider.prototype._setupListeners = function() {
"use strict";
this._events.forEach(function (eventName) {
this._xhr.addEventListener(eventName, function(eventName, event) {
this._dispatchEvent(eventName, {});
this._dispatchEvent("on" + eventName, {});
}.bind(this, eventName), false);
}.bind(this));
};
Expand Down
5 changes: 4 additions & 1 deletion spec/providers/coreIntegration/xhr.integration.src.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ module.exports = function (provider, setup) {
// Note, test needs to GET a domain with CORS enabled or test will fail
it("can GET github.com", function(done) {
var response;
dispatch.gotMessageAsync("load", [], function(e) {
dispatch.gotMessageAsync("onload", [], function(e) {
xhr.getReadyState().then(function(readyState) {
expect(readyState).toEqual(4); // Done
return xhr.getStatus();
Expand All @@ -63,6 +63,9 @@ module.exports = function (provider, setup) {
return xhr.getResponse();
}).then(function(resp) {
expect(resp.string).toEqual(response);
return xhr.getResponseURL();
}).then(function(url) {
expect(url).toEqual("https://api.github.com/");
done();
});
});
Expand Down

0 comments on commit 9ae4214

Please sign in to comment.