summaryrefslogtreecommitdiff
path: root/deps/npm/test/tap/ls-l-depth-0.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/test/tap/ls-l-depth-0.js')
-rw-r--r--deps/npm/test/tap/ls-l-depth-0.js114
1 files changed, 114 insertions, 0 deletions
diff --git a/deps/npm/test/tap/ls-l-depth-0.js b/deps/npm/test/tap/ls-l-depth-0.js
new file mode 100644
index 0000000000..c11f4826e4
--- /dev/null
+++ b/deps/npm/test/tap/ls-l-depth-0.js
@@ -0,0 +1,114 @@
+var cat = require("graceful-fs").writeFileSync
+var resolve = require("path").resolve
+
+var mkdirp = require("mkdirp")
+var mr = 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" +
+ " https://github.com/npm/glo.ck\n" +
+ " https://glo.ck\n" +
+ "\n"
+
+var server
+
+var EXEC_OPTS = {
+ cwd : pkg
+}
+
+test("setup", function (t) {
+ setup()
+ mr(common.port, function (s) {
+ server = s
+
+ t.end()
+ })
+})
+
+test("#6311: npm ll --depth=0 duplicates listing", function (t) {
+ common.npm(
+ [
+ "--loglevel", "silent",
+ "--registry", common.registry,
+ "install", dep
+ ],
+ EXEC_OPTS,
+ function (err, code, stdout, stderr) {
+ t.ifError(err, "npm install ran without error")
+ t.notOk(code, "npm install exited cleanly")
+ t.notOk(stderr, "npm install ran silently")
+ t.equal(
+ stdout.trim(),
+ "glock@1.8.7 node_modules/glock\n└── underscore@1.5.1",
+ "got expected install output"
+ )
+
+ common.npm(
+ [
+ "--loglevel", "silent",
+ "ls", "--long",
+ "--depth", "0"
+ ],
+ EXEC_OPTS,
+ function (err, code, stdout, stderr) {
+ t.ifError(err, "npm ll ran without error")
+ t.notOk(code, "npm ll exited cleanly")
+ t.notOk(stderr, "npm ll ran silently")
+ t.equal(
+ stdout,
+ expected,
+ "got expected package name"
+ )
+
+ t.end()
+ }
+ )
+ }
+ )
+})
+
+test("cleanup", function (t) {
+ cleanup()
+ server.close()
+
+ t.end()
+})
+
+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"
+ }
+}
+
+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))
+}