diff options
author | Florian Dold <florian.dold@gmail.com> | 2019-04-03 15:43:32 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2019-04-03 15:45:57 +0200 |
commit | 71e285b94c7edaa43aa8115965cf5a36b8e0f80a (patch) | |
tree | 7d4aa9d0d5aff686b106cd5da72ba77960c4af43 /deps/node/deps/npm/test/tap/ls-l-depth-0.js | |
parent | 7dadf9356b4f3f4137ce982ea5bb960283116e9a (diff) | |
download | akono-71e285b94c7edaa43aa8115965cf5a36b8e0f80a.tar.gz akono-71e285b94c7edaa43aa8115965cf5a36b8e0f80a.tar.bz2 akono-71e285b94c7edaa43aa8115965cf5a36b8e0f80a.zip |
Node.js v11.13.0
Diffstat (limited to 'deps/node/deps/npm/test/tap/ls-l-depth-0.js')
-rw-r--r-- | deps/node/deps/npm/test/tap/ls-l-depth-0.js | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/deps/node/deps/npm/test/tap/ls-l-depth-0.js b/deps/node/deps/npm/test/tap/ls-l-depth-0.js new file mode 100644 index 00000000..e9c2374a --- /dev/null +++ b/deps/node/deps/npm/test/tap/ls-l-depth-0.js @@ -0,0 +1,121 @@ +var cat = require('graceful-fs').writeFileSync +var resolve = require('path').resolve + +var mkdirp = require('mkdirp') +var Bluebird = require('bluebird') +var mr = Bluebird.promisify(require('npm-registry-mock')) +var rimraf = require('rimraf') +var test = require('tap').test +var tmpdir = require('osenv').tmpdir + +var common = require('../common-tap.js') + +var pkg = resolve(__dirname, 'ls-l-depth-0') +var dep = resolve(pkg, 'deps', 'glock') +var modules = resolve(pkg, 'node_modules') + +var expected = + '\n' + + '│ ' + pkg + '\n' + + '│ \n' + + '└── glock@1.8.7\n' + + ' an inexplicably hostile sample package\n' + + ' git+https://github.com/npm/glo.ck.git\n' + + ' https://glo.ck\n' + + ' file:glock-1.8.7.tgz\n' + + '\n' + +var server + +var EXEC_OPTS = { cwd: pkg } + +var fixture = { + 'name': 'glock', + 'version': '1.8.7', + 'private': true, + 'description': 'an inexplicably hostile sample package', + 'homepage': 'https://glo.ck', + 'repository': 'https://github.com/npm/glo.ck', + 'dependencies': { + 'underscore': '1.5.1' + } +} + +var deppack + +test('setup', function (t) { + setup() + return mr({ port: common.port }).then((s) => { + server = s + return common.npm(['pack', dep], EXEC_OPTS) + }).spread((code, stdout) => { + t.is(code, 0, 'pack') + deppack = stdout.trim() + }) +}) + +test('#6311: npm ll --depth=0 duplicates listing', function (t) { + common.npm( + [ + '--loglevel', 'silent', + '--registry', common.registry, + '--parseable', + 'install', deppack + ], + EXEC_OPTS, + function (err, code, stdout, stderr) { + if (err) throw err + t.notOk(code, 'npm install exited cleanly') + t.is(stderr, '', 'npm install ran silently') + t.equal( + stdout.trim(), + 'add\tunderscore\t1.5.1\tnode_modules/underscore\t\t\n' + + 'add\tglock\t1.8.7\tnode_modules/glock', + 'got expected install output' + ) + + common.npm( + [ + '--loglevel', 'silent', + 'ls', '--long', + '--unicode=true', + '--depth', '0' + ], + EXEC_OPTS, + function (err, code, stdout, stderr) { + if (err) throw err + t.is(code, 0, 'npm ll exited cleanly') + t.is(stderr, '', 'npm ll ran silently') + t.equal( + stdout, + expected, + 'got expected package name' + ) + + t.end() + } + ) + } + ) +}) + +test('cleanup', function (t) { + cleanup() + server.close() + + t.end() +}) + +function cleanup () { + process.chdir(tmpdir()) + rimraf.sync(pkg) +} + +function setup () { + cleanup() + + mkdirp.sync(modules) + mkdirp.sync(dep) + + cat(resolve(dep, 'package.json'), JSON.stringify(fixture)) +} |