128 lines
3.7 KiB
JavaScript
128 lines
3.7 KiB
JavaScript
var fs = require('fs'),
|
|
path = require('path'),
|
|
vfs = require('../lib/fs'),
|
|
TEST_DIR = path.join(__dirname, 'test-dir');
|
|
|
|
module.exports = {
|
|
setUp : function(done) {
|
|
fs.mkdirSync(TEST_DIR);
|
|
done();
|
|
},
|
|
|
|
tearDown : function(done) {
|
|
fs.rmdirSync(TEST_DIR);
|
|
done();
|
|
},
|
|
|
|
'should make directory' : function(test) {
|
|
var dir = path.join(TEST_DIR, 'a');
|
|
vfs.makeDir(dir)
|
|
.then(
|
|
function() {
|
|
return vfs.exists(dir);
|
|
},
|
|
function() {
|
|
test.ok(false);
|
|
})
|
|
.always(function(promise) {
|
|
test.ok(promise.valueOf());
|
|
test.ok(fs.statSync(dir).isDirectory());
|
|
fs.rmdirSync(dir);
|
|
test.done();
|
|
});
|
|
},
|
|
|
|
'should make directory if exists' : function(test) {
|
|
var dir = path.join(TEST_DIR, 'a');
|
|
fs.mkdirSync(dir);
|
|
vfs.makeDir(dir)
|
|
.then(
|
|
function() {
|
|
return vfs.exists(dir);
|
|
},
|
|
function() {
|
|
test.ok(false);
|
|
})
|
|
.always(function(promise) {
|
|
test.ok(promise.valueOf());
|
|
test.ok(fs.statSync(dir).isDirectory());
|
|
fs.rmdirSync(dir);
|
|
test.done();
|
|
});
|
|
},
|
|
|
|
'should be failed if directory exists' : function(test) {
|
|
var dir = path.join(TEST_DIR, 'a');
|
|
fs.mkdirSync(dir);
|
|
vfs.makeDir(dir, true)
|
|
.then(
|
|
function() {
|
|
test.ok(false);
|
|
},
|
|
function() {
|
|
test.ok(true);
|
|
})
|
|
.always(function() {
|
|
fs.rmdirSync(dir);
|
|
test.done();
|
|
});
|
|
},
|
|
|
|
'should be failed if file with same name exists' : function(test) {
|
|
var dir = path.join(TEST_DIR, 'test-file');
|
|
fs.writeFileSync(dir, 'test');
|
|
vfs.makeDir(dir)
|
|
.then(
|
|
function() {
|
|
test.ok(false);
|
|
},
|
|
function() {
|
|
test.ok(true);
|
|
})
|
|
.always(function() {
|
|
fs.unlinkSync(path.join(TEST_DIR, 'test-file'));
|
|
test.done();
|
|
});
|
|
},
|
|
|
|
'should make directory tree' : function(test) {
|
|
var dir = path.join(TEST_DIR, 'a/b/c');
|
|
vfs.makeDir(dir)
|
|
.then(
|
|
function() {
|
|
return vfs.exists(dir);
|
|
},
|
|
function() {
|
|
test.ok(false);
|
|
})
|
|
.always(function(promise) {
|
|
test.ok(promise.valueOf());
|
|
test.ok(fs.statSync(dir).isDirectory());
|
|
fs.rmdirSync(path.join(TEST_DIR, 'a/b/c'));
|
|
fs.rmdirSync(path.join(TEST_DIR, 'a/b'));
|
|
fs.rmdirSync(path.join(TEST_DIR, 'a'));
|
|
test.done();
|
|
});
|
|
},
|
|
|
|
'should make directory tree if exists' : function(test) {
|
|
var dir = path.join(TEST_DIR, 'a/b/c');
|
|
fs.mkdirSync(path.join(TEST_DIR, 'a'));
|
|
fs.mkdirSync(path.join(TEST_DIR, 'a', 'b'));
|
|
fs.mkdirSync(dir);
|
|
vfs.makeDir(dir)
|
|
.then(
|
|
function() {
|
|
test.ok(true);
|
|
},
|
|
function() {
|
|
test.ok(false);
|
|
})
|
|
.always(function() {
|
|
fs.rmdirSync(path.join(TEST_DIR, 'a/b/c'));
|
|
fs.rmdirSync(path.join(TEST_DIR, 'a/b'));
|
|
fs.rmdirSync(path.join(TEST_DIR, 'a'));
|
|
test.done();
|
|
});
|
|
}
|
|
}; |