| var common = require("../common-tap.js") |
| , test = require("tap").test |
| , rimraf = require("rimraf") |
| , npm = require("../../") |
| , mr = require("npm-registry-mock") |
| , path = require("path") |
| , spawn = require('child_process').spawn |
| , node = process.execPath |
| , npmc = require.resolve('../../') |
| , pkg = __dirname + '/outdated-new-versions' |
| , args = [ npmc |
| , 'outdated' |
| , '--json' |
| , '--silent' |
| , '--registry=' + common.registry |
| , '--cache=' + pkg + '/cache' |
| ] |
| |
| var expected = { underscore: |
| { current: '1.3.3' |
| , wanted: '1.3.3' |
| , latest: '1.5.1' |
| , location: 'node_modules' + path.sep + 'underscore' |
| } |
| , request: |
| { current: '0.9.5' |
| , wanted: '0.9.5' |
| , latest: '2.27.0' |
| , location: 'node_modules' + path.sep + 'request' |
| } |
| } |
| |
| test("it should log json data", function (t) { |
| cleanup() |
| process.chdir(pkg) |
| |
| mr(common.port, function (s) { |
| npm.load({ |
| cache: pkg + "/cache", |
| loglevel: 'silent', |
| registry: common.registry } |
| , function () { |
| npm.install(".", function (err) { |
| var child = spawn(node, args) |
| , out = '' |
| child.stdout |
| .on('data', function (buf) { |
| out += buf.toString() |
| }) |
| .pipe(process.stdout) |
| child.on('exit', function () { |
| out = JSON.parse(out) |
| t.deepEqual(out, expected) |
| s.close() |
| t.end() |
| }) |
| }) |
| }) |
| }) |
| }) |
| |
| test("cleanup", function (t) { |
| cleanup() |
| t.end() |
| }) |
| |
| function cleanup () { |
| rimraf.sync(pkg + "/node_modules") |
| rimraf.sync(pkg + "/cache") |
| } |