text: /* */ 
  "format cjs";
  /* 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();
                  });
              });
          });
      });
  
  });
  