var common = require("../common-tap") , path = require("path") , test = require("tap").test , rimraf = require("rimraf") , npm = require("../../") , mr = require("npm-registry-mock") , pkg = path.resolve(__dirname, "outdated-depth-deep") , cache = path.resolve(pkg, "cache") var osenv = require("osenv") var mkdirp = require("mkdirp") var fs = require("fs") var pj = JSON.stringify({ "name": "whatever", "description": "yeah idk", "version": "1.2.3", "main": "index.js", "dependencies": { "underscore": "1.3.1", "npm-test-peer-deps": "0.0.0" }, "repository": "git://github.com/luk-/whatever" }, null, 2) function cleanup () { process.chdir(osenv.tmpdir()) rimraf.sync(pkg) } function setup () { mkdirp.sync(pkg) process.chdir(pkg) fs.writeFileSync(path.resolve(pkg, "package.json"), pj) } test("setup", function (t) { cleanup() setup() t.end() }) test("outdated depth deep (9999)", function (t) { var underscoreOutdated = ["underscore", "1.3.1", "1.3.1", "1.5.1", "1.3.1"] var childPkg = path.resolve(pkg, "node_modules", "npm-test-peer-deps") var expected = [ [pkg].concat(underscoreOutdated), [childPkg].concat(underscoreOutdated) ] process.chdir(pkg) mr({port : common.port}, function (er, s) { npm.load({ cache: cache , loglevel: "silent" , registry: common.registry , depth: 9999 } , function () { npm.install(".", function (er) { if (er) throw new Error(er) npm.outdated(function (err, d) { if (err) throw new Error(err) t.deepEqual(d, expected) s.close() t.end() }) }) } ) }) }) test("cleanup", function (t) { cleanup() t.end() })