/* Tests borrowed from substack's node-mkdirp * https://github.com/substack/node-mkdirp */ var mkpath = require('../'); var path = require('path'); var fs = require('fs'); var test = require('tap').test; var ps = [ '', 'tmp' ]; for (var i = 0; i < 25; i++) { var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); ps.push(dir); } var file = ps.join('/'); test('chmod-pre', function (t) { var mode = 0744 mkpath(file, mode, function (er) { t.ifError(er, 'should not error'); fs.stat(file, function (er, stat) { t.ifError(er, 'should exist'); t.ok(stat && stat.isDirectory(), 'should be directory'); t.equal(stat && stat.mode & 0777, mode, 'should be 0744'); t.end(); }); }); }); test('chmod', function (t) { var mode = 0755 mkpath(file, mode, function (er) { t.ifError(er, 'should not error'); fs.stat(file, function (er, stat) { t.ifError(er, 'should exist'); t.ok(stat && stat.isDirectory(), 'should be directory'); t.end(); }); }); });