1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- 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 remove empty directory' : function(test) {
- var dir = path.join(TEST_DIR, 'dir');
- fs.mkdirSync(dir);
- vfs.removeDir(dir)
- .then(
- function() {
- return vfs.exists(dir);
- },
- function() {
- test.ok(false);
- })
- .always(function(promise) {
- test.ok(!promise.valueOf());
- test.done();
- });
- },
- 'should remove directory tree' : function(test) {
- var dir = path.join(TEST_DIR, 'dir');
- fs.mkdirSync(dir);
- fs.mkdirSync(path.join(dir, 'a'));
- fs.writeFileSync(path.join(dir, 'a', 'file'), 'file');
- fs.mkdirSync(path.join(dir, 'a', 'b'));
- fs.writeFileSync(path.join(dir, 'a', 'b', 'file1'), 'file1');
- fs.writeFileSync(path.join(dir, 'a', 'b', 'file2'), 'file2');
- vfs.removeDir(dir)
- .then(
- function() {
- return vfs.exists(dir);
- },
- function() {
- test.ok(false);
- })
- .always(function(promise) {
- test.ok(!promise.valueOf());
- test.done();
- });
- },
- 'should not remove file' : function(test) {
- var filePath = path.join(TEST_DIR, 'file');
- fs.writeFileSync(filePath, 'file');
- vfs.removeDir(filePath)
- .then(
- function() {
- test.ok(false);
- },
- function(err) {
- test.equal(err.code, 'ENOTDIR');
- return vfs.exists(filePath);
- })
- .always(function(promise) {
- test.ok(promise.valueOf());
- fs.unlinkSync(filePath);
- test.done();
- });
- }
- };
|