From 8ac7c7dfb0a533ad2ae67316257c53d459355cf0 Mon Sep 17 00:00:00 2001 From: Alexei Kozachenko Date: Fri, 28 Sep 2018 12:01:23 -0400 Subject: [PATCH] Unit tests for mkdtemp method added (issue #394) --- tests/index.js | 1 + tests/spec/fs.mkdtemp.spec.js | 51 +++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 tests/spec/fs.mkdtemp.spec.js 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