UNPKG

2.92 kBJavaScriptView Raw
1/* global describe:true, expect:true, it:true, Modernizr:true */
2describe('When No Drivers Are Available', function() {
3 'use strict';
4
5 var DRIVERS = [
6 localforage.INDEXEDDB,
7 localforage.LOCALSTORAGE,
8 localforage.WEBSQL
9 ];
10
11 it('agrees with Modernizr on storage drivers support', function() {
12 expect(localforage.supports(localforage.INDEXEDDB)).to.be(false);
13 expect(localforage.supports(localforage.INDEXEDDB))
14 .to.be(Modernizr.indexeddb);
15
16 expect(localforage.supports(localforage.LOCALSTORAGE))
17 .to.be(false);
18 expect(localforage.supports(localforage.LOCALSTORAGE))
19 .to.be(Modernizr.localstorage);
20
21 expect(localforage.supports(localforage.WEBSQL)).to.be(false);
22 expect(localforage.supports(localforage.WEBSQL))
23 .to.be(Modernizr.websqldatabase);
24 });
25
26 it('fails to load localForage [callback]', function(done) {
27 localforage.ready(function(err) {
28 expect(err).to.be.an(Error);
29 expect(err.message).to.be('No available storage method found.');
30 done();
31 });
32 });
33
34 it('fails to load localForage [promise]', function(done) {
35 localforage.ready().then(null, function(err) {
36 expect(err).to.be.an(Error);
37 expect(err.message).to.be('No available storage method found.');
38 done();
39 });
40 });
41
42 it('has no driver set', function(done) {
43 localforage.ready(function() {
44 expect(localforage.driver()).to.be(null);
45 done();
46 });
47 });
48
49 DRIVERS.forEach(function(driverName) {
50 it('fails to setDriver ' + driverName + ' [callback]', function(done) {
51 localforage.setDriver(driverName, null, function(err) {
52 expect(err).to.be.an(Error);
53 expect(err.message).to.be('No available storage method found.');
54 done();
55 });
56 });
57
58 it('fails to setDriver ' + driverName + ' [promise]', function(done) {
59 localforage.setDriver(driverName).then(null, function(err) {
60 expect(err).to.be.an(Error);
61 expect(err.message).to.be('No available storage method found.');
62 done();
63 });
64 });
65 });
66
67 it('fails to setDriver using array parameter [callback]', function(done) {
68 localforage.setDriver(DRIVERS, null, function(err) {
69 expect(err).to.be.an(Error);
70 expect(err.message).to.be('No available storage method found.');
71 done();
72 });
73 });
74
75 it('fails to setDriver using array parameter [promise]', function(done) {
76 localforage.setDriver(DRIVERS).then(null, function(err) {
77 expect(err).to.be.an(Error);
78 expect(err.message).to.be('No available storage method found.');
79 done();
80 });
81 });
82
83});