123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- /**
- * Module dependencies.
- */
- var dir = require('../lib/dir');
- var should = require('should');
- var path = require('path');
- var fs = require('fs');
- var exec = require('child_process').exec;
- describe('dir', function() {
- describe('#walk()', function() {
- var root = path.dirname(__dirname) + '/';
- function check(dir, files) {
- fs.statSync(dir).isDirectory().should.be.true;
- files.should.be.a('object');
- Object.keys(files).length.should.equal(fs.readdirSync(dir).length);
- for (var k in files) {
- k.should.be.a('string');
- k.should.include(dir);
- var stats = files[k];
- stats.should.be.an.instanceof(fs.Stats);
- }
- }
- it('should walk dir all', function(done) {
- var walker = new dir.Walk(root);
- walker.on('dir', check);
- walker.on('end', done);
- });
- it('should walk dir all in callback', function(done) {
- var walker = new dir.Walk(root, check, done);
- });
- it('walk(dir, ondir, onend, onerr) should worked', function(done) {
- dir.walk(root, check, done, function(err, p) {
- console.log(p);
- throw err;
- });
- });
- it('should success when walk empty dir', function(done) {
- dir.walk(__dirname + '/emptydir', check, done);
- });
- });
- describe('#copyfile()', function() {
- var from = __dirname + '/dir.test.foo.txt';
- var to = __dirname + '/dir.test.bar.txt';
- var toParentNotExists = '/tmp/' + new Date().getTime() + '/dir.test.bar.txt';
- before(function() {
- path.existsSync(to) && fs.unlinkSync(to);
- });
- it('should worked', function(done) {
- dir.copyfile(from, to, function(err) {
- should.not.exist(err);
- fs.statSync(to).isFile().should.be.true;
- fs.readFileSync(to).toString().should.equal(fs.readFileSync(from).toString());
- dir.copyfile(to, to, function(err) {
- err.should.be.an.instanceof(Error);
- done();
- });
- });
- });
- it('should copy toParentNotExists', function(done) {
- dir.copyfile(from, toParentNotExists, function(exists, next) {
- exists.should.be.false;
- next(true);
- }, function(err) {
- should.not.exist(err);
- fs.statSync(toParentNotExists).isFile().should.be.true;
- fs.readFileSync(toParentNotExists).toString().should.equal(fs.readFileSync(from).toString());
- done();
- });
- });
- });
- describe('#mkdir()', function() {
- var existsDir = '/tmp/dir.test.exists.dir';
- var notExistsDir = '/tmp/dir.test/not.exists.dir';
- before(function(done) {
- !path.existsSync(existsDir) && fs.mkdirSync(existsDir);
- exec('rm -rf /tmp/dir.test', done);
- });
- after(function() {
- fs.rmdirSync(existsDir);
- });
- it('should make exists dir success', function(done) {
- path.existsSync(existsDir).should.be.true;
- dir.mkdir(existsDir, function(err) {
- path.existsSync(existsDir).should.be.true;
- done(err);
- });
- });
- it('should make not exists dir success', function(done) {
- path.existsSync(notExistsDir).should.be.false;
- dir.mkdir(notExistsDir, function(err) {
- path.existsSync(notExistsDir).should.be.true;
- done(err);
- });
- });
- });
- });
|