| // 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() |
| }) |
| }) |
| }) |