]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/outdated-json.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / test / tap / outdated-json.js
1 var fs = require('graceful-fs')
2 var path = require('path')
3
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
9
10 var common = require('../common-tap.js')
11 var server
12
13 var pkg = path.resolve(__dirname, 'outdated-json')
14
15 var EXEC_OPTS = { cwd: pkg }
16
17 var json = {
18   name: 'outdated-json',
19   author: 'Rockbert',
20   version: '0.0.0',
21   dependencies: {
22     underscore: '~1.3.1'
23   },
24   devDependencies: {
25     request: '~0.9.0'
26   }
27 }
28
29 var expected = {
30   underscore: {
31     current: '1.3.3',
32     wanted: '1.3.3',
33     latest: '1.5.1',
34     location: 'node_modules' + path.sep + 'underscore'
35   },
36   request: {
37     current: '0.9.5',
38     wanted: '0.9.5',
39     latest: '2.27.0',
40     location: 'node_modules' + path.sep + 'request'
41   }
42 }
43
44 test('setup', function (t) {
45   cleanup()
46   mkdirp.sync(pkg)
47   fs.writeFileSync(
48     path.join(pkg, 'package.json'),
49     JSON.stringify(json, null, 2)
50   )
51   process.chdir(pkg)
52   mr({ port: common.port }, function (er, s) {
53     t.ifError(er, 'mock registry should never fail to start')
54     server = s
55     common.npm(
56       [
57         '--registry', common.registry,
58         '--silent',
59         'install'
60       ],
61       EXEC_OPTS,
62       function (err, code) {
63         t.ifError(err, 'npm install ran without issue')
64         t.notOk(code, 'npm install ran without raising error code')
65
66         t.end()
67       }
68     )
69   })
70 })
71
72 test('it should log json data', function (t) {
73   common.npm(
74     [
75       '--registry', common.registry,
76       '--silent',
77       '--json',
78       'outdated'
79     ],
80     EXEC_OPTS,
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')
84       var out
85       t.doesNotThrow(function () {
86         out = JSON.parse(stdout)
87       }, 'output correctly parsed as JSON')
88       t.deepEqual(out, expected)
89
90       t.end()
91     }
92   )
93 })
94
95 test('cleanup', function (t) {
96   server.close()
97   cleanup()
98   t.end()
99 })
100
101 function cleanup () {
102   // windows fix for locked files
103   process.chdir(osenv.tmpdir())
104   rimraf.sync(pkg)
105 }