]> 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-shrinkwrap-equals-ls.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-shrinkwrap-equals-ls.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 pkg = path.join(__dirname, 'install-shrinkwrap-equals-ls')
12
13 var EXEC_OPTS = {cwd: pkg}
14
15 var json = {
16   "name": "install-shrinkwrap-equals-ls",
17   "version": "1.0.0",
18   "dependencies": {
19     "react": "^0.14.0",
20     "react-bootstrap": "^0.28.1",
21     "react-dom": "^0.14.0"
22   }
23 }
24
25 var shrinkwrap = {
26   "name": "install-shrinkwrap-equals-ls",
27   "version": "1.0.0",
28   "dependencies": {
29     "react": {
30       "version": "0.14.8",
31       "from": "react@>=0.14.0 <0.15.0",
32       "resolved": "https://registry.npmjs.org/react/-/react-0.14.8.tgz",
33       "dependencies": {
34         "envify": {
35           "version": "3.4.0",
36           "from": "envify@>=3.0.0 <4.0.0",
37           "resolved": "https://registry.npmjs.org/envify/-/envify-3.4.0.tgz",
38           "dependencies": {
39             "through": {
40               "version": "2.3.8",
41               "from": "through@>=2.3.4 <2.4.0",
42               "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
43             },
44             "jstransform": {
45               "version": "10.1.0",
46               "from": "jstransform@>=10.0.1 <11.0.0",
47               "resolved": "https://registry.npmjs.org/jstransform/-/jstransform-10.1.0.tgz",
48               "dependencies": {
49                 "base62": {
50                   "version": "0.1.1",
51                   "from": "base62@0.1.1",
52                   "resolved": "https://registry.npmjs.org/base62/-/base62-0.1.1.tgz"
53                 },
54                 "esprima-fb": {
55                   "version": "13001.1001.0-dev-harmony-fb",
56                   "from": "esprima-fb@13001.1001.0-dev-harmony-fb",
57                   "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-13001.1001.0-dev-harmony-fb.tgz"
58                 },
59                 "source-map": {
60                   "version": "0.1.31",
61                   "from": "source-map@0.1.31",
62                   "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.31.tgz",
63                   "dependencies": {
64                     "amdefine": {
65                       "version": "1.0.0",
66                       "from": "amdefine@>=0.0.4",
67                       "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz"
68                     }
69                   }
70                 }
71               }
72             }
73           }
74         },
75         "fbjs": {
76           "version": "0.6.1",
77           "from": "fbjs@>=0.6.1 <0.7.0",
78           "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.6.1.tgz",
79           "dependencies": {
80             "core-js": {
81               "version": "1.2.6",
82               "from": "core-js@>=1.0.0 <2.0.0",
83               "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.6.tgz"
84             },
85             "loose-envify": {
86               "version": "1.1.0",
87               "from": "loose-envify@>=1.0.0 <2.0.0",
88               "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.1.0.tgz",
89               "dependencies": {
90                 "js-tokens": {
91                   "version": "1.0.3",
92                   "from": "js-tokens@>=1.0.1 <2.0.0",
93                   "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.3.tgz"
94                 }
95               }
96             },
97             "promise": {
98               "version": "7.1.1",
99               "from": "promise@>=7.0.3 <8.0.0",
100               "resolved": "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz",
101               "dependencies": {
102                 "asap": {
103                   "version": "2.0.3",
104                   "from": "asap@>=2.0.3 <2.1.0",
105                   "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.3.tgz"
106                 }
107               }
108             },
109             "ua-parser-js": {
110               "version": "0.7.10",
111               "from": "ua-parser-js@>=0.7.9 <0.8.0",
112               "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.10.tgz"
113             },
114             "whatwg-fetch": {
115               "version": "0.9.0",
116               "from": "whatwg-fetch@>=0.9.0 <0.10.0",
117               "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-0.9.0.tgz"
118             }
119           }
120         }
121       }
122     },
123     "react-bootstrap": {
124       "version": "0.28.5",
125       "from": "react-bootstrap@>=0.28.1 <0.29.0",
126       "resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-0.28.5.tgz",
127       "dependencies": {
128         "babel-runtime": {
129           "version": "5.8.38",
130           "from": "babel-runtime@>=5.8.25 <6.0.0",
131           "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-5.8.38.tgz",
132           "dependencies": {
133             "core-js": {
134               "version": "1.2.6",
135               "from": "core-js@>=1.0.0 <2.0.0",
136               "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.6.tgz"
137             }
138           }
139         },
140         "classnames": {
141           "version": "2.2.3",
142           "from": "classnames@>=2.1.5 <3.0.0",
143           "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.3.tgz"
144         },
145         "dom-helpers": {
146           "version": "2.4.0",
147           "from": "dom-helpers@>=2.4.0 <3.0.0",
148           "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-2.4.0.tgz"
149         },
150         "invariant": {
151           "version": "2.2.1",
152           "from": "invariant@>=2.1.2 <3.0.0",
153           "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.1.tgz",
154           "dependencies": {
155             "loose-envify": {
156               "version": "1.1.0",
157               "from": "loose-envify@>=1.0.0 <2.0.0",
158               "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.1.0.tgz",
159               "dependencies": {
160                 "js-tokens": {
161                   "version": "1.0.3",
162                   "from": "js-tokens@>=1.0.1 <2.0.0",
163                   "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.3.tgz"
164                 }
165               }
166             }
167           }
168         },
169         "keycode": {
170           "version": "2.1.1",
171           "from": "keycode@>=2.1.0 <3.0.0",
172           "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.1.1.tgz"
173         },
174         "lodash-compat": {
175           "version": "3.10.2",
176           "from": "lodash-compat@>=3.10.1 <4.0.0",
177           "resolved": "https://registry.npmjs.org/lodash-compat/-/lodash-compat-3.10.2.tgz"
178         },
179         "react-overlays": {
180           "version": "0.6.3",
181           "from": "react-overlays@>=0.6.0 <0.7.0",
182           "resolved": "https://registry.npmjs.org/react-overlays/-/react-overlays-0.6.3.tgz",
183           "dependencies": {
184             "react-prop-types": {
185               "version": "0.2.2",
186               "from": "react-prop-types@>=0.2.1 <0.3.0",
187               "resolved": "https://registry.npmjs.org/react-prop-types/-/react-prop-types-0.2.2.tgz"
188             }
189           }
190         },
191         "react-prop-types": {
192           "version": "0.3.0",
193           "from": "react-prop-types@>=0.3.0 <0.4.0",
194           "resolved": "https://registry.npmjs.org/react-prop-types/-/react-prop-types-0.3.0.tgz"
195         },
196         "uncontrollable": {
197           "version": "3.2.3",
198           "from": "uncontrollable@>=3.1.3 <4.0.0",
199           "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-3.2.3.tgz"
200         },
201         "warning": {
202           "version": "2.1.0",
203           "from": "warning@>=2.1.0 <3.0.0",
204           "resolved": "https://registry.npmjs.org/warning/-/warning-2.1.0.tgz",
205           "dependencies": {
206             "loose-envify": {
207               "version": "1.1.0",
208               "from": "loose-envify@>=1.0.0 <2.0.0",
209               "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.1.0.tgz",
210               "dependencies": {
211                 "js-tokens": {
212                   "version": "1.0.3",
213                   "from": "js-tokens@>=1.0.1 <2.0.0",
214                   "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.3.tgz"
215                 }
216               }
217             }
218           }
219         }
220       }
221     },
222     "react-dom": {
223       "version": "0.14.8",
224       "from": "react-dom@>=0.14.0 <0.15.0",
225       "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-0.14.8.tgz"
226     }
227   }
228 }
229
230
231 test('setup', function (t) {
232   setup()
233   t.end()
234 })
235
236 test('An npm install with shrinkwrap equals npm ls --json', function (t) {
237   common.npm(
238     [
239       '--loglevel', 'silent',
240       'install'
241     ],
242     EXEC_OPTS,
243     function (err, code) {
244       t.ifError(err, 'npm install ran without issue')
245       t.notOk(code, 'npm install exited with code 0')
246       common.npm(
247         [
248           '--loglevel', 'silent',
249           'ls', '--json'
250         ],
251         EXEC_OPTS,
252         function (err, code, out) {
253           t.ifError(err, 'npm ls --json ran without issue')
254           t.notOk(code, 'npm ls --json exited with code 0')
255           var actual = common.rmFromInShrinkwrap(JSON.parse(out))
256           var expected = common.rmFromInShrinkwrap(
257             JSON.parse(JSON.stringify(shrinkwrap))
258           )
259           t.deepEqual(actual, expected)
260           t.end()
261         })
262     }
263   )
264 })
265
266 test('cleanup', function (t) {
267   cleanup()
268   t.end()
269 })
270
271 function cleanup () {
272   process.chdir(__dirname)
273   rimraf.sync(pkg)
274 }
275
276 function setup () {
277   cleanup()
278   mkdirp.sync(pkg)
279   process.chdir(pkg)
280   fs.writeFileSync(
281     'package.json',
282     JSON.stringify(json, null, 2)
283   )
284   fs.writeFileSync(
285     'npm-shrinkwrap.json',
286     JSON.stringify(shrinkwrap, null, 2)
287   )
288 }