aboutsummaryrefslogtreecommitdiff
path: root/deps/node/deps/npm/test/tap/umask-lifecycle.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/node/deps/npm/test/tap/umask-lifecycle.js')
-rw-r--r--deps/node/deps/npm/test/tap/umask-lifecycle.js61
1 files changed, 61 insertions, 0 deletions
diff --git a/deps/node/deps/npm/test/tap/umask-lifecycle.js b/deps/node/deps/npm/test/tap/umask-lifecycle.js
new file mode 100644
index 00000000..c4c32336
--- /dev/null
+++ b/deps/node/deps/npm/test/tap/umask-lifecycle.js
@@ -0,0 +1,61 @@
+var fs = require('fs')
+var path = require('path')
+
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+var test = require('tap').test
+var sprintf = require('sprintf-js').sprintf
+
+var escapeExecPath = require('../../lib/utils/escape-exec-path.js')
+var escapeArg = require('../../lib/utils/escape-arg.js')
+var common = require('../common-tap.js')
+var pkg = path.resolve(__dirname, 'umask-lifecycle')
+
+var nodeCmd = escapeExecPath(common.nodeBin)
+var npmCmd = nodeCmd + ' ' + escapeArg(common.bin)
+var umaskScript = npmCmd + ' config get umask && ' + nodeCmd + ' -pe "[process.env.npm_config_umask, process.umask()]"'
+
+var pj = JSON.stringify({
+ name: 'x',
+ version: '1.2.3',
+ scripts: { umask: umaskScript }
+}, null, 2) + '\n'
+
+var umask = process.umask()
+var expected = [
+ '',
+ '> x@1.2.3 umask ' + path.join(__dirname, 'umask-lifecycle'),
+ '> ' + umaskScript,
+ '',
+ sprintf('%04o', umask),
+ "[ '" + sprintf('%04o', umask) + "', " +
+ sprintf('%d', umask) + ' ]',
+ ''
+].join('\n')
+
+test('setup', function (t) {
+ rimraf.sync(pkg)
+ mkdirp.sync(pkg)
+ fs.writeFileSync(pkg + '/package.json', pj)
+ t.end()
+})
+
+test('umask script', function (t) {
+ common.npm(['run', 'umask'], {
+ cwd: pkg,
+ env: {
+ PATH: process.env.PATH,
+ Path: process.env.Path,
+ 'npm_config_loglevel': 'warn'
+ }
+ }, function (er, code, sout, serr) {
+ t.equal(sout, expected)
+ t.equal(serr, '')
+ t.end()
+ })
+})
+
+test('clean', function (t) {
+ rimraf.sync(pkg)
+ t.end()
+})