diff --git a/tests/index.js b/tests/index.js index e49c342..9132598 100644 --- a/tests/index.js +++ b/tests/index.js @@ -14,6 +14,7 @@ require('./spec/fs.lstat.spec'); require('./spec/fs.exists.spec'); require('./spec/fs.mknod.spec'); require('./spec/fs.mkdir.spec'); +require('./spec/fs.mkdtemp.spec'); require('./spec/fs.readdir.spec'); require('./spec/fs.rmdir.spec'); require('./spec/fs.open.spec'); diff --git a/tests/spec/fs.mkdtemp.spec.js b/tests/spec/fs.mkdtemp.spec.js new file mode 100644 index 0000000..38c401f --- /dev/null +++ b/tests/spec/fs.mkdtemp.spec.js @@ -0,0 +1,51 @@ +var util = require('../lib/test-utils.js'); +var expect = require('chai').expect; + +describe('fs.mkdtemp', function() { + beforeEach(util.setup); + afterEach(util.cleanup); + + it('should be a function', function() { + var fs = util.fs(); + expect(fs.mkdtemp).to.be.a('function'); + }); + + it('should craete temp dir with specified prefix', function(done) { + var fs = util.fs(); + fs.mkdtemp('foo', function(error, path) { + expect(error).not.to.exist; + expect(path).to.match(/foo.{6}/); + done(); + }); + }); + it('should craete temp dir inside existing directory', function(done) { + var fs = util.fs(); + fs.mkdir('/myDir', (error) => { + expect(error).not.to.exist; + fs.mkdtemp('/myDir/foo', function(error, path) { + expect(error).not.to.exist; + expect(path).to.match(/foo.{6}/); + done(); + }); + }); + + }); + + it('should not create temp dir without prefix', function(done) { + var fs = util.fs(); + fs.mkdtemp('', function(error, path) { + expect(error).to.exist; + expect(path).to.be.equal(''); + done(); + }); + }); + it('should not create temp dir inside non existing dir', function(done) { + var fs = util.fs(); + fs.mkdtemp('/doesNotExists/foo', function(error, path) { + expect(error).to.exist; + expect(error.code).to.be.equal('ENOENT'); + expect(path).to.exist; + done(); + }); + }); +}); \ No newline at end of file