Files
Zos/Skills/@be/node_modules/localforage/test/test.faultydriver.js

53 lines
1.8 KiB
JavaScript

/* global beforeEach:true, describe:true, expect:true, it:true */
describe('When Driver Fails to Initialize', function() {
'use strict';
var FAULTYDRIVERS = [
localforage.INDEXEDDB,
localforage.WEBSQL,
localforage.LOCALSTORAGE
]
.filter(localforage.supports)
.filter(function(driverName) {
// FF doesn't allow you to override `localStorage.setItem`
// so if the faulty driver setup didn't succeed
// then skip the localStorage tests
return !(
driverName === localforage.LOCALSTORAGE &&
localStorage.setItem.toString().indexOf('[native code]') >= 0
);
});
FAULTYDRIVERS.forEach(function(driverName) {
describe(driverName, function() {
beforeEach(function() {
if (driverName === localforage.LOCALSTORAGE) {
localStorage.clear();
}
});
it('fails to setDriver ' + driverName + ' [callback]', function(done) {
localforage.setDriver(driverName, function() {
localforage.ready(function(err) {
expect(err).to.be.an(Error);
expect(err.message).to.be('No available storage method found.');
done();
});
});
});
it('fails to setDriver ' + driverName + ' [promise]', function(done) {
localforage.setDriver(driverName).then(function() {
return localforage.ready();
}).then(null, function(err) {
expect(err).to.be.an(Error);
expect(err.message).to.be('No available storage method found.');
done();
});
});
});
});
});