summaryrefslogtreecommitdiff
path: root/deps/npm/test/tap/cache-ls-filenames.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/test/tap/cache-ls-filenames.js')
-rw-r--r--deps/npm/test/tap/cache-ls-filenames.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/deps/npm/test/tap/cache-ls-filenames.js b/deps/npm/test/tap/cache-ls-filenames.js
new file mode 100644
index 0000000000..c67bca25f3
--- /dev/null
+++ b/deps/npm/test/tap/cache-ls-filenames.js
@@ -0,0 +1,51 @@
+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()
+})