1 |
|
2 | describe('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 | });
|