odin/node_modules/xhr-status/test.js
2022-11-26 15:56:34 +01:00

63 lines
1.5 KiB
JavaScript

describe('xhr-status', function () {
'use strict';
var assume = require('assume')
, status = require('./');
it('is exported as function', function () {
assume(status).is.a('function');
});
it('corrects the 1233 status code', function () {
var xhr = {
status: 1233,
responseText: 'moo',
responseURL: 'http://google.com/204'
};
assume(status(xhr).code).equals(204);
assume(status(xhr).error).equals(false);
assume(status(xhr).text).equals('OK');
});
it('corrects status code 0 to 200 for local files', function () {
var xhr = {
status: 0,
responseText: 'moo',
responseURL: 'file://google/com/204'
};
assume(status(xhr).code).equals(200);
assume(status(xhr).error).equals(false);
assume(status(xhr).text).equals('OK');
});
it('keep status 0 for non local requests', function () {
var xhr = {
status: 0,
responseText: 'moo',
responseURL: 'http://google.com/204'
};
assume(status(xhr).code).equals(0);
assume(status(xhr).error).equals(true);
assume(status(xhr).text).equals('An unknown error occured');
});
it('uses a blank statusText if it throws (firefox edgecase)', function () {
var xhr = {
status: 404,
responseURL: 'http://google.com/204'
};
Object.defineProperty(xhr, 'statusText', {
get: function () {
throw new Error('lol cakes');
}
});
assume(status(xhr).error).equals(true);
assume(status(xhr).code).equals(404);
assume(status(xhr).text).equals('');
});
});