]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/shrinkwrap-empty-deps.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / test / tap / shrinkwrap-empty-deps.js
1 var fs = require('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
12 var pkg = path.resolve(__dirname, 'shrinkwrap-empty-deps')
13
14 var EXEC_OPTS = { cwd: pkg }
15
16 var json = {
17   author: 'Rockbert',
18   name: 'shrinkwrap-empty-deps',
19   version: '0.0.0',
20   dependencies: {},
21   devDependencies: {}
22 }
23
24 test('setup', function (t) {
25   cleanup()
26   mkdirp.sync(pkg)
27   fs.writeFileSync(
28     path.join(pkg, 'package.json'),
29     JSON.stringify(json, null, 2)
30   )
31
32   process.chdir(pkg)
33   t.end()
34 })
35
36 test('returns a list of removed items', function (t) {
37   mr({ port: common.port }, function (er, s) {
38     common.npm(
39       [
40         '--registry', common.registry,
41         '--loglevel', 'silent',
42         'shrinkwrap'
43       ],
44       EXEC_OPTS,
45       function (err, code, stdout, stderr) {
46         t.ifError(err, 'shrinkwrap ran without issue')
47         t.notOk(code, 'shrinkwrap ran without raising error code')
48
49         fs.readFile(path.resolve(pkg, 'npm-shrinkwrap.json'), function (err, desired) {
50           t.ifError(err, 'read npm-shrinkwrap.json without issue')
51           t.same(
52             {
53               'name': 'shrinkwrap-empty-deps',
54               'version': '0.0.0',
55               'dependencies': {}
56             },
57             JSON.parse(desired),
58             'shrinkwrap handled empty deps without exploding'
59           )
60
61           s.close()
62           t.end()
63         })
64       }
65     )
66   })
67 })
68
69 test('cleanup', function (t) {
70   cleanup()
71
72   t.end()
73 })
74
75 function cleanup () {
76   process.chdir(osenv.tmpdir())
77   rimraf.sync(pkg)
78 }