--- /dev/null
+// This test ensures that a few commands do the same
+// thing when the cwd is where package.json is, and when
+// the package.json is one level up.
+
+var test = require("tap").test
+var common = require("../common-tap.js")
+var path = require("path")
+var root = path.resolve(__dirname, "../..")
+var lib = path.resolve(root, "lib")
+var commands = ["run", "version"]
+
+commands.forEach(function (cmd) {
+ // Should get the same stdout and stderr each time
+ var stdout, stderr
+
+ test(cmd + " in root", function (t) {
+ common.npm([cmd], {cwd: root}, function (er, code, so, se) {
+ if (er) throw er
+ t.notOk(code, "npm " + cmd + " exited with code 0")
+ stdout = so
+ stderr = se
+ t.end()
+ })
+ })
+
+ test(cmd + " in lib", function (t) {
+ common.npm([cmd], {cwd: lib}, function (er, code, so, se) {
+ if (er) throw er
+ t.notOk(code, "npm " + cmd + " exited with code 0")
+ t.equal(so, stdout)
+ t.equal(se, stderr)
+ t.end()
+ })
+ })
+})