mirror of
https://github.com/nodejs/node.git
synced 2025-05-15 14:41:29 +00:00

Contains the following npm releases: - v3.9.0: https://github.com/npm/npm/releases/tag/v3.9.0 - v3.9.1: https://github.com/npm/npm/releases/tag/v3.9.1 - v3.9.2: https://github.com/npm/npm/releases/tag/v3.9.2 - v3.9.3: https://github.com/npm/npm/releases/tag/v3.9.3 PR-URL: https://github.com/nodejs/node/pull/7030 Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
52 lines
1.2 KiB
JavaScript
52 lines
1.2 KiB
JavaScript
var t = require('tap')
|
|
var path = require('path')
|
|
var fs = require('fs')
|
|
var mkdirp = require('mkdirp')
|
|
var rimraf = require('rimraf')
|
|
var spawn = require('child_process').spawn
|
|
var npm = require.resolve('../../bin/npm-cli.js')
|
|
var dir = path.resolve(__dirname, 'cache-ls-filenames')
|
|
var node = process.execPath
|
|
|
|
t.test('setup', function (t) {
|
|
rimraf.sync(dir)
|
|
mkdirp.sync(dir + '/a/b/c/d')
|
|
for (var i = 0; i < 5; i++) {
|
|
fs.writeFileSync(dir + '/file-' + i, 'x\n')
|
|
fs.writeFileSync(dir + '/a/b/file-' + i, 'x\n')
|
|
}
|
|
t.end()
|
|
})
|
|
|
|
function test (t, args) {
|
|
var child = spawn(node, [npm, 'cache', 'ls', '--cache=' + dir].concat(args))
|
|
var out = ''
|
|
child.stdout.on('data', function (c) {
|
|
out += c
|
|
})
|
|
child.on('close', function (code, signal) {
|
|
t.equal(code, 0)
|
|
t.equal(signal, null)
|
|
out.trim().split(/[\n\r]+/).map(function (filename) {
|
|
return filename.replace(/^~/, process.env.HOME)
|
|
}).forEach(function (file) {
|
|
// verify that all exist
|
|
t.ok(fs.existsSync(file), 'exists: ' + file)
|
|
})
|
|
t.end()
|
|
})
|
|
}
|
|
|
|
t.test('without path arg', function (t) {
|
|
test(t, [])
|
|
})
|
|
|
|
t.test('with path arg', function (t) {
|
|
test(t, ['a'])
|
|
})
|
|
|
|
t.test('cleanup', function (t) {
|
|
rimraf.sync(dir)
|
|
t.end()
|
|
})
|