]> 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-save-local.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-save-local.js
1 var fs = require('graceful-fs')
2 var path = require('path')
3
4 var mkdirp = require('mkdirp')
5 var osenv = require('osenv')
6 var rimraf = require('rimraf')
7 var test = require('tap').test
8
9 var common = require('../common-tap.js')
10
11 var root = path.join(__dirname, 'install-save-local')
12 var pkg = path.join(root, 'package')
13
14 var EXEC_OPTS = { cwd: pkg }
15
16 var json = {
17   name: 'install-save-local',
18   version: '0.0.0'
19 }
20
21 var localDependency = {
22   name: 'package-local-dependency',
23   version: '0.0.0'
24 }
25
26 var localDevDependency = {
27   name: 'package-local-dev-dependency',
28   version: '0.0.0'
29 }
30
31 test('setup', function (t) {
32   setup()
33   t.end()
34 })
35
36 test('\'npm install --save ../local/path\' should save to package.json', function (t) {
37   common.npm(
38     [
39       '--loglevel', 'silent',
40       '--save',
41       'install', '../package-local-dependency'
42     ],
43     EXEC_OPTS,
44     function (err, code) {
45       t.ifError(err, 'npm install ran without issue')
46       t.notOk(code, 'npm install exited with code 0')
47
48       var dependencyPackageJson = path.join(
49         pkg, 'node_modules', 'package-local-dependency', 'package.json'
50       )
51       t.ok(JSON.parse(fs.readFileSync(dependencyPackageJson, 'utf8')))
52
53       var pkgJson = JSON.parse(fs.readFileSync(pkg + '/package.json', 'utf8'))
54       t.deepEqual(
55         pkgJson.dependencies,
56         { 'package-local-dependency': 'file:../package-local-dependency' },
57         'local package saved correctly'
58       )
59       t.end()
60     }
61   )
62 })
63
64 test('\'npm install --save-dev ../local/path\' should save to package.json', function (t) {
65   setup()
66   common.npm(
67     [
68       '--loglevel', 'silent',
69       '--save-dev',
70       'install', '../package-local-dev-dependency'
71     ],
72     EXEC_OPTS,
73     function (err, code) {
74       t.ifError(err, 'npm install ran without issue')
75       t.notOk(code, 'npm install exited with code 0')
76
77       var dependencyPackageJson = path.resolve(
78         pkg, 'node_modules', 'package-local-dev-dependency', 'package.json'
79       )
80       t.ok(JSON.parse(fs.readFileSync(dependencyPackageJson, 'utf8')))
81
82       var pkgJson = JSON.parse(fs.readFileSync(pkg + '/package.json', 'utf8'))
83       t.deepEqual(
84         pkgJson.devDependencies,
85         { 'package-local-dev-dependency': 'file:../package-local-dev-dependency' },
86         'local package saved correctly'
87       )
88
89       t.end()
90     }
91   )
92 })
93
94 test('cleanup', function (t) {
95   cleanup()
96   t.end()
97 })
98
99 function cleanup () {
100   process.chdir(osenv.tmpdir())
101   process.chdir(__dirname)
102   rimraf.sync(root)
103 }
104
105 function setup () {
106   cleanup()
107   mkdirp.sync(pkg)
108   fs.writeFileSync(
109     path.join(pkg, 'package.json'),
110     JSON.stringify(json, null, 2)
111   )
112
113   mkdirp.sync(path.join(root, 'package-local-dependency'))
114   fs.writeFileSync(
115     path.join(root, 'package-local-dependency', 'package.json'),
116     JSON.stringify(localDependency, null, 2)
117   )
118
119   mkdirp.sync(path.join(root, 'package-local-dev-dependency'))
120   fs.writeFileSync(
121     path.join(root, 'package-local-dev-dependency', 'package.json'),
122     JSON.stringify(localDevDependency, null, 2)
123   )
124
125   process.chdir(pkg)
126 }