/script-kiddie/002_script_kiddie/script-kiddie/node_modules/mkdirp/test/chmod.js |
@@ -0,0 +1,41 @@ |
var mkdirp = require('../').mkdirp; |
var path = require('path'); |
var fs = require('fs'); |
var test = require('tap').test; |
var _0777 = parseInt('0777', 8); |
var _0755 = parseInt('0755', 8); |
var _0744 = parseInt('0744', 8); |
|
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 |
mkdirp(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 |
mkdirp(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(); |
}); |
}); |
}); |
/script-kiddie/002_script_kiddie/script-kiddie/node_modules/mkdirp/test/clobber.js |
@@ -0,0 +1,38 @@ |
var mkdirp = require('../').mkdirp; |
var path = require('path'); |
var fs = require('fs'); |
var test = require('tap').test; |
var _0755 = parseInt('0755', 8); |
|
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('/'); |
|
// a file in the way |
var itw = ps.slice(0, 3).join('/'); |
|
|
test('clobber-pre', function (t) { |
console.error("about to write to "+itw) |
fs.writeFileSync(itw, 'I AM IN THE WAY, THE TRUTH, AND THE LIGHT.'); |
|
fs.stat(itw, function (er, stat) { |
t.ifError(er) |
t.ok(stat && stat.isFile(), 'should be file') |
t.end() |
}) |
}) |
|
test('clobber', function (t) { |
t.plan(2); |
mkdirp(file, _0755, function (err) { |
t.ok(err); |
t.equal(err.code, 'ENOTDIR'); |
t.end(); |
}); |
}); |
/script-kiddie/002_script_kiddie/script-kiddie/node_modules/mkdirp/test/mkdirp.js |
@@ -0,0 +1,28 @@ |
var mkdirp = require('../'); |
var path = require('path'); |
var fs = require('fs'); |
var exists = fs.exists || path.exists; |
var test = require('tap').test; |
var _0777 = parseInt('0777', 8); |
var _0755 = parseInt('0755', 8); |
|
test('woo', function (t) { |
t.plan(5); |
var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
|
var file = '/tmp/' + [x,y,z].join('/'); |
|
mkdirp(file, _0755, function (err) { |
t.ifError(err); |
exists(file, function (ex) { |
t.ok(ex, 'file created'); |
fs.stat(file, function (err, stat) { |
t.ifError(err); |
t.equal(stat.mode & _0777, _0755); |
t.ok(stat.isDirectory(), 'target not a directory'); |
}) |
}) |
}); |
}); |
/script-kiddie/002_script_kiddie/script-kiddie/node_modules/mkdirp/test/opts_fs.js |
@@ -0,0 +1,29 @@ |
var mkdirp = require('../'); |
var path = require('path'); |
var test = require('tap').test; |
var mockfs = require('mock-fs'); |
var _0777 = parseInt('0777', 8); |
var _0755 = parseInt('0755', 8); |
|
test('opts.fs', function (t) { |
t.plan(5); |
|
var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
|
var file = '/beep/boop/' + [x,y,z].join('/'); |
var xfs = mockfs.fs(); |
|
mkdirp(file, { fs: xfs, mode: _0755 }, function (err) { |
t.ifError(err); |
xfs.exists(file, function (ex) { |
t.ok(ex, 'created file'); |
xfs.stat(file, function (err, stat) { |
t.ifError(err); |
t.equal(stat.mode & _0777, _0755); |
t.ok(stat.isDirectory(), 'target not a directory'); |
}); |
}); |
}); |
}); |
/script-kiddie/002_script_kiddie/script-kiddie/node_modules/mkdirp/test/opts_fs_sync.js |
@@ -0,0 +1,27 @@ |
var mkdirp = require('../'); |
var path = require('path'); |
var test = require('tap').test; |
var mockfs = require('mock-fs'); |
var _0777 = parseInt('0777', 8); |
var _0755 = parseInt('0755', 8); |
|
test('opts.fs sync', function (t) { |
t.plan(4); |
|
var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
|
var file = '/beep/boop/' + [x,y,z].join('/'); |
var xfs = mockfs.fs(); |
|
mkdirp.sync(file, { fs: xfs, mode: _0755 }); |
xfs.exists(file, function (ex) { |
t.ok(ex, 'created file'); |
xfs.stat(file, function (err, stat) { |
t.ifError(err); |
t.equal(stat.mode & _0777, _0755); |
t.ok(stat.isDirectory(), 'target not a directory'); |
}); |
}); |
}); |
/script-kiddie/002_script_kiddie/script-kiddie/node_modules/mkdirp/test/perm.js |
@@ -0,0 +1,32 @@ |
var mkdirp = require('../'); |
var path = require('path'); |
var fs = require('fs'); |
var exists = fs.exists || path.exists; |
var test = require('tap').test; |
var _0777 = parseInt('0777', 8); |
var _0755 = parseInt('0755', 8); |
|
test('async perm', function (t) { |
t.plan(5); |
var file = '/tmp/' + (Math.random() * (1<<30)).toString(16); |
|
mkdirp(file, _0755, function (err) { |
t.ifError(err); |
exists(file, function (ex) { |
t.ok(ex, 'file created'); |
fs.stat(file, function (err, stat) { |
t.ifError(err); |
t.equal(stat.mode & _0777, _0755); |
t.ok(stat.isDirectory(), 'target not a directory'); |
}) |
}) |
}); |
}); |
|
test('async root perm', function (t) { |
mkdirp('/tmp', _0755, function (err) { |
if (err) t.fail(err); |
t.end(); |
}); |
t.end(); |
}); |
/script-kiddie/002_script_kiddie/script-kiddie/node_modules/mkdirp/test/perm_sync.js |
@@ -0,0 +1,36 @@ |
var mkdirp = require('../'); |
var path = require('path'); |
var fs = require('fs'); |
var exists = fs.exists || path.exists; |
var test = require('tap').test; |
var _0777 = parseInt('0777', 8); |
var _0755 = parseInt('0755', 8); |
|
test('sync perm', function (t) { |
t.plan(4); |
var file = '/tmp/' + (Math.random() * (1<<30)).toString(16) + '.json'; |
|
mkdirp.sync(file, _0755); |
exists(file, function (ex) { |
t.ok(ex, 'file created'); |
fs.stat(file, function (err, stat) { |
t.ifError(err); |
t.equal(stat.mode & _0777, _0755); |
t.ok(stat.isDirectory(), 'target not a directory'); |
}); |
}); |
}); |
|
test('sync root perm', function (t) { |
t.plan(3); |
|
var file = '/tmp'; |
mkdirp.sync(file, _0755); |
exists(file, function (ex) { |
t.ok(ex, 'file created'); |
fs.stat(file, function (err, stat) { |
t.ifError(err); |
t.ok(stat.isDirectory(), 'target not a directory'); |
}) |
}); |
}); |
/script-kiddie/002_script_kiddie/script-kiddie/node_modules/mkdirp/test/race.js |
@@ -0,0 +1,37 @@ |
var mkdirp = require('../').mkdirp; |
var path = require('path'); |
var fs = require('fs'); |
var exists = fs.exists || path.exists; |
var test = require('tap').test; |
var _0777 = parseInt('0777', 8); |
var _0755 = parseInt('0755', 8); |
|
test('race', function (t) { |
t.plan(10); |
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('/'); |
|
var res = 2; |
mk(file); |
|
mk(file); |
|
function mk (file, cb) { |
mkdirp(file, _0755, function (err) { |
t.ifError(err); |
exists(file, function (ex) { |
t.ok(ex, 'file created'); |
fs.stat(file, function (err, stat) { |
t.ifError(err); |
t.equal(stat.mode & _0777, _0755); |
t.ok(stat.isDirectory(), 'target not a directory'); |
}); |
}) |
}); |
} |
}); |
/script-kiddie/002_script_kiddie/script-kiddie/node_modules/mkdirp/test/rel.js |
@@ -0,0 +1,32 @@ |
var mkdirp = require('../'); |
var path = require('path'); |
var fs = require('fs'); |
var exists = fs.exists || path.exists; |
var test = require('tap').test; |
var _0777 = parseInt('0777', 8); |
var _0755 = parseInt('0755', 8); |
|
test('rel', function (t) { |
t.plan(5); |
var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
|
var cwd = process.cwd(); |
process.chdir('/tmp'); |
|
var file = [x,y,z].join('/'); |
|
mkdirp(file, _0755, function (err) { |
t.ifError(err); |
exists(file, function (ex) { |
t.ok(ex, 'file created'); |
fs.stat(file, function (err, stat) { |
t.ifError(err); |
process.chdir(cwd); |
t.equal(stat.mode & _0777, _0755); |
t.ok(stat.isDirectory(), 'target not a directory'); |
}) |
}) |
}); |
}); |
/script-kiddie/002_script_kiddie/script-kiddie/node_modules/mkdirp/test/return.js |
@@ -0,0 +1,25 @@ |
var mkdirp = require('../'); |
var path = require('path'); |
var fs = require('fs'); |
var test = require('tap').test; |
|
test('return value', function (t) { |
t.plan(4); |
var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
|
var file = '/tmp/' + [x,y,z].join('/'); |
|
// should return the first dir created. |
// By this point, it would be profoundly surprising if /tmp didn't |
// already exist, since every other test makes things in there. |
mkdirp(file, function (err, made) { |
t.ifError(err); |
t.equal(made, '/tmp/' + x); |
mkdirp(file, function (err, made) { |
t.ifError(err); |
t.equal(made, null); |
}); |
}); |
}); |
/script-kiddie/002_script_kiddie/script-kiddie/node_modules/mkdirp/test/return_sync.js |
@@ -0,0 +1,24 @@ |
var mkdirp = require('../'); |
var path = require('path'); |
var fs = require('fs'); |
var test = require('tap').test; |
|
test('return value', function (t) { |
t.plan(2); |
var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
|
var file = '/tmp/' + [x,y,z].join('/'); |
|
// should return the first dir created. |
// By this point, it would be profoundly surprising if /tmp didn't |
// already exist, since every other test makes things in there. |
// Note that this will throw on failure, which will fail the test. |
var made = mkdirp.sync(file); |
t.equal(made, '/tmp/' + x); |
|
// making the same file again should have no effect. |
made = mkdirp.sync(file); |
t.equal(made, null); |
}); |
/script-kiddie/002_script_kiddie/script-kiddie/node_modules/mkdirp/test/root.js |
@@ -0,0 +1,19 @@ |
var mkdirp = require('../'); |
var path = require('path'); |
var fs = require('fs'); |
var test = require('tap').test; |
var _0755 = parseInt('0755', 8); |
|
test('root', function (t) { |
// '/' on unix, 'c:/' on windows. |
var file = path.resolve('/'); |
|
mkdirp(file, _0755, function (err) { |
if (err) throw err |
fs.stat(file, function (er, stat) { |
if (er) throw er |
t.ok(stat.isDirectory(), 'target is a directory'); |
t.end(); |
}) |
}); |
}); |
/script-kiddie/002_script_kiddie/script-kiddie/node_modules/mkdirp/test/sync.js |
@@ -0,0 +1,32 @@ |
var mkdirp = require('../'); |
var path = require('path'); |
var fs = require('fs'); |
var exists = fs.exists || path.exists; |
var test = require('tap').test; |
var _0777 = parseInt('0777', 8); |
var _0755 = parseInt('0755', 8); |
|
test('sync', function (t) { |
t.plan(4); |
var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
|
var file = '/tmp/' + [x,y,z].join('/'); |
|
try { |
mkdirp.sync(file, _0755); |
} catch (err) { |
t.fail(err); |
return t.end(); |
} |
|
exists(file, function (ex) { |
t.ok(ex, 'file created'); |
fs.stat(file, function (err, stat) { |
t.ifError(err); |
t.equal(stat.mode & _0777, _0755); |
t.ok(stat.isDirectory(), 'target not a directory'); |
}); |
}); |
}); |
/script-kiddie/002_script_kiddie/script-kiddie/node_modules/mkdirp/test/umask.js |
@@ -0,0 +1,28 @@ |
var mkdirp = require('../'); |
var path = require('path'); |
var fs = require('fs'); |
var exists = fs.exists || path.exists; |
var test = require('tap').test; |
var _0777 = parseInt('0777', 8); |
var _0755 = parseInt('0755', 8); |
|
test('implicit mode from umask', function (t) { |
t.plan(5); |
var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
|
var file = '/tmp/' + [x,y,z].join('/'); |
|
mkdirp(file, function (err) { |
t.ifError(err); |
exists(file, function (ex) { |
t.ok(ex, 'file created'); |
fs.stat(file, function (err, stat) { |
t.ifError(err); |
t.equal(stat.mode & _0777, _0777 & (~process.umask())); |
t.ok(stat.isDirectory(), 'target not a directory'); |
}); |
}) |
}); |
}); |
/script-kiddie/002_script_kiddie/script-kiddie/node_modules/mkdirp/test/umask_sync.js |
@@ -0,0 +1,32 @@ |
var mkdirp = require('../'); |
var path = require('path'); |
var fs = require('fs'); |
var exists = fs.exists || path.exists; |
var test = require('tap').test; |
var _0777 = parseInt('0777', 8); |
var _0755 = parseInt('0755', 8); |
|
test('umask sync modes', function (t) { |
t.plan(4); |
var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); |
|
var file = '/tmp/' + [x,y,z].join('/'); |
|
try { |
mkdirp.sync(file); |
} catch (err) { |
t.fail(err); |
return t.end(); |
} |
|
exists(file, function (ex) { |
t.ok(ex, 'file created'); |
fs.stat(file, function (err, stat) { |
t.ifError(err); |
t.equal(stat.mode & _0777, (_0777 & (~process.umask()))); |
t.ok(stat.isDirectory(), 'target not a directory'); |
}); |
}); |
}); |