1 var common = require("../common-tap.js")
2 var test = require("tap").test
3 var osenv = require("osenv")
4 var path = require("path")
5 var mkdirp = require("mkdirp")
6 var rimraf = require("rimraf")
8 var pkg = path.resolve(__dirname, "version-no-package")
10 test("setup", function (t) {
15 test("npm version in a prefix with no package.json", function(t) {
18 ["version", "--json", "--prefix", pkg],
20 function (er, code, stdout, stderr) {
21 t.ifError(er, "npm version doesn't care that there's no package.json")
22 t.notOk(code, "npm version ran without barfing")
23 t.ok(stdout, "got version output")
24 t.notOk(stderr, "no error output")
25 t.doesNotThrow(function () {
26 var metadata = JSON.parse(stdout)
27 t.equal(metadata.node, process.versions.node, "node versions match")
29 }, "able to reconstitute version object from stdout")
35 test("cleanup", function(t) {
36 process.chdir(osenv.tmpdir())