1 var fs = require('graceful-fs')
2 var path = require('path')
4 var mkdirp = require('mkdirp')
5 var mr = require('npm-registry-mock')
6 var osenv = require('osenv')
7 var rimraf = require('rimraf')
8 var test = require('tap').test
10 var common = require('../common-tap.js')
13 var pkg = path.resolve(__dirname, 'outdated-json')
15 var EXEC_OPTS = { cwd: pkg }
18 name: 'outdated-json',
34 location: 'node_modules' + path.sep + 'underscore'
40 location: 'node_modules' + path.sep + 'request'
44 test('setup', function (t) {
48 path.join(pkg, 'package.json'),
49 JSON.stringify(json, null, 2)
52 mr({ port: common.port }, function (er, s) {
53 t.ifError(er, 'mock registry should never fail to start')
57 '--registry', common.registry,
62 function (err, code) {
63 t.ifError(err, 'npm install ran without issue')
64 t.notOk(code, 'npm install ran without raising error code')
72 test('it should log json data', function (t) {
75 '--registry', common.registry,
81 function (err, code, stdout) {
82 t.ifError(err, 'npm outdated ran without issue')
83 t.notOk(code, 'npm outdated ran without raising error code')
85 t.doesNotThrow(function () {
86 out = JSON.parse(stdout)
87 }, 'output correctly parsed as JSON')
88 t.deepEqual(out, expected)
95 test('cleanup', function (t) {
101 function cleanup () {
102 // windows fix for locked files
103 process.chdir(osenv.tmpdir())