56 lines
1.6 KiB
JavaScript
56 lines
1.6 KiB
JavaScript
var Filer = require('../../src');
|
|
var expect = require('chai').expect;
|
|
|
|
describe('Filer', function() {
|
|
it('is defined', function() {
|
|
expect(typeof Filer).not.to.equal(undefined);
|
|
});
|
|
|
|
it('has FileSystem constructor', function() {
|
|
expect(typeof Filer.FileSystem).to.equal('function');
|
|
});
|
|
|
|
it('has Shell constructor', function() {
|
|
expect(typeof Filer.Shell).to.equal('function');
|
|
});
|
|
|
|
it('must honor the \'FORMAT\' flag', function(done) {
|
|
var name = 'local-test';
|
|
// Because we need to use a bunch of Filer filesystems
|
|
// in this test, we can't use the usual test infrastructure
|
|
// to create/manage the fs instance. Pick the best one
|
|
// based on the testing environment (browser vs. node)
|
|
var providers = Filer.FileSystem.providers;
|
|
var Provider;
|
|
if(providers.IndexedDB.isSupported()) {
|
|
Provider = providers.IndexedDB;
|
|
} else if(providers.WebSQL.isSupported()) {
|
|
Provider = providers.WebSQL;
|
|
} else {
|
|
Provider = providers.Memory;
|
|
}
|
|
|
|
var fs = new Filer.FileSystem({name, provider: new Provider(name)});
|
|
var fs2 = new Filer.FileSystem({name, provider: new Provider(name)});
|
|
|
|
fs.mkdir('/test', function(err){
|
|
if(err) throw err;
|
|
|
|
fs2.readdir('/', function(err, list) {
|
|
if(err) throw err;
|
|
|
|
expect(list).to.exist;
|
|
expect(list).to.have.length(1);
|
|
|
|
fs2 = new Filer.FileSystem({name, provider: new Provider(name), flags:['FORMAT']});
|
|
fs2.readdir('/', function(err, list2) {
|
|
expect(err).to.not.exist;
|
|
expect(list2).to.exist;
|
|
expect(list2).to.have.length(0);
|
|
done();
|
|
});
|
|
});
|
|
});
|
|
});
|
|
});
|