arnaucube
arnaucube/socketioMEANseedPublic Self-hosted repository
socketioMEANseed/www/node_modules/mkdirp/test/chmod.js
www/node_modules/mkdirp/test/chmod.jsRaw
 1var mkdirp = require('../').mkdirp;
 2var path = require('path');
 3var fs = require('fs');
 4var test = require('tap').test;
 5var _0777 = parseInt('0777', 8);
 6var _0755 = parseInt('0755', 8);
 7var _0744 = parseInt('0744', 8);
 8
 9var ps = [ '', 'tmp' ];
10
11for (var i = 0; i < 25; i++) {
12    var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
13    ps.push(dir);
14}
15
16var file = ps.join('/');
17
18test('chmod-pre', function (t) {
19    var mode = _0744
20    mkdirp(file, mode, function (er) {
21        t.ifError(er, 'should not error');
22        fs.stat(file, function (er, stat) {
23            t.ifError(er, 'should exist');
24            t.ok(stat && stat.isDirectory(), 'should be directory');
25            t.equal(stat && stat.mode & _0777, mode, 'should be 0744');
26            t.end();
27        });
28    });
29});
30
31test('chmod', function (t) {
32    var mode = _0755
33    mkdirp(file, mode, function (er) {
34        t.ifError(er, 'should not error');
35        fs.stat(file, function (er, stat) {
36            t.ifError(er, 'should exist');
37            t.ok(stat && stat.isDirectory(), 'should be directory');
38            t.end();
39        });
40    });
41});