Merge pull request #334 from yujiosaka/master

check enablesXDR option when Request.hasXDR is called just in case
This commit is contained in:
Tony Kovanen
2014-08-20 11:42:47 +03:00
4 changed files with 62 additions and 1 deletions

View File

@@ -313,7 +313,7 @@ Request.prototype.onLoad = function(){
*/
Request.prototype.hasXDR = function(){
return 'undefined' !== typeof global.XDomainRequest && !this.xs;
return 'undefined' !== typeof global.XDomainRequest && !this.xs && this.enablesXDR;
};
/**

View File

@@ -17,6 +17,7 @@ require('./transport');
// browser only tests
if (env.browser) {
require('./connection');
require('./transports');
require('./xmlhttprequest');
if (global.ArrayBuffer) {
require('./arraybuffer');

1
test/transports/index.js Normal file
View File

@@ -0,0 +1 @@
require ('./polling-xhr.js');

View File

@@ -0,0 +1,59 @@
var expect = require('expect.js');
var XHR = require('../../lib/transports/polling-xhr');
var isIE8 = /MSIE 8/.test(navigator.userAgent);
describe('XHR', function() {
describe('Request', function() {
describe('hasXDR', function() {
if (isIE8) {
it('should return true when xscheme is false and enablesXDR is true', function() {
var request = new XHR.Request({
uri: "http://localhost/engine.io?sid=test"
, xd: true
, xs: false
, enablesXDR: true
});
expect(request.hasXDR()).to.be(true);
});
it('should return false when xscheme is true', function() {
var request;
request = new XHR.Request({
uri: "http://localhost/engine.io?sid=test"
, xd: true
, xs: true
, enablesXDR: true
});
expect(request.hasXDR()).to.be(false);
request = new XHR.Request({
uri: "http://localhost/engine.io?sid=test"
, xd: true
, xs: true
, enablesXDR: true
});
expect(request.hasXDR()).to.be(false);
});
it('should return false when enablesXDR is false', function() {
var request;
request = new XHR.Request({
uri: "http://localhost/engine.io?sid=test"
, xd: true
, xs: true
, enablesXDR: false
});
expect(request.hasXDR()).to.be(false);
request = new XHR.Request({
uri: "http://localhost/engine.io?sid=test"
, xd: true
, xs: false
, enablesXDR: false
});
expect(request.hasXDR()).to.be(false);
});
}
});
});
});