]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/install-noargs-dev.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / test / tap / install-noargs-dev.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 var server
12
13 var pkg = path.join(__dirname, 'install-noargs-dev')
14
15 var EXEC_OPTS = { cwd: pkg }
16
17 var PACKAGE_JSON1 = {
18   name: 'install-noargs-dev',
19   version: '0.0.1',
20   devDependencies: {
21     'underscore': '1.3.1'
22   }
23 }
24
25 var PACKAGE_JSON2 = {
26   name: 'install-noargs-dev',
27   version: '0.0.2',
28   devDependencies: {
29     'underscore': '1.5.1'
30   }
31 }
32
33 test('setup', function (t) {
34   setup()
35   mr({ port: common.port }, function (er, s) {
36     t.ifError(er, 'started mock registry')
37     server = s
38     t.end()
39   })
40 })
41
42 test('install noargs installs devDependencies', function (t) {
43   common.npm(
44     [
45       '--registry', common.registry,
46       '--loglevel', 'silent',
47       'install'
48     ],
49     EXEC_OPTS,
50     function (err, code) {
51       t.ifError(err, 'npm install ran without issue')
52       t.notOk(code, 'npm install exited with code 0')
53
54       var p = path.join(pkg, 'node_modules', 'underscore', 'package.json')
55       var pkgJson = JSON.parse(fs.readFileSync(p))
56
57       t.equal(pkgJson.version, '1.3.1')
58       t.end()
59     }
60   )
61 })
62
63 test('install noargs installs updated devDependencies', function (t) {
64   fs.writeFileSync(
65     path.join(pkg, 'package.json'),
66     JSON.stringify(PACKAGE_JSON2, null, 2)
67   )
68
69   common.npm(
70     [
71       '--registry', common.registry,
72       '--loglevel', 'silent',
73       'install'
74     ],
75     EXEC_OPTS,
76     function (err, code) {
77       t.ifError(err, 'npm install ran without issue')
78       t.notOk(code, 'npm install exited with code 0')
79
80       var p = path.join(pkg, 'node_modules', 'underscore', 'package.json')
81       var pkgJson = JSON.parse(fs.readFileSync(p))
82
83       t.equal(pkgJson.version, '1.5.1')
84       t.end()
85     }
86   )
87 })
88
89 test('cleanup', function (t) {
90   server.close()
91   cleanup()
92   t.end()
93 })
94
95 function cleanup () {
96   process.chdir(osenv.tmpdir())
97   rimraf.sync(pkg)
98 }
99
100 function setup () {
101   cleanup()
102   mkdirp.sync(path.resolve(pkg, 'node_modules'))
103   fs.writeFileSync(
104     path.join(pkg, 'package.json'),
105     JSON.stringify(PACKAGE_JSON1, null, 2)
106   )
107
108   process.chdir(pkg)
109 }