]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/bundled-dependencies-nonarray.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / test / tap / bundled-dependencies-nonarray.js
1 var fs = require('graceful-fs')
2 var path = require('path')
3
4 var osenv = require('osenv')
5 var mkdirp = require('mkdirp')
6 var rimraf = require('rimraf')
7 var test = require('tap').test
8
9 var npm = require('../../lib/npm.js')
10 var common = require('../common-tap.js')
11
12 var dir = path.resolve(__dirname, 'bundleddependencies')
13 var pkg = path.resolve(dir, 'pkg-with-bundled')
14 var dep = path.resolve(dir, 'a-bundled-dep')
15
16 var pj = JSON.stringify({
17   name: 'pkg-with-bundled',
18   version: '1.0.0',
19   dependencies: {
20     'a-bundled-dep': 'file:../a-bundled-dep'
21   },
22   bundledDependencies: {
23     'a-bundled-dep': 'file:../a-bundled-dep'
24   }
25 }, null, 2) + '\n'
26
27 var pjDep = JSON.stringify({
28   name: 'a-bundled-dep',
29   version: '2.0.0'
30 }, null, 2) + '\n'
31
32 test('setup', function (t) {
33   bootstrap()
34   t.end()
35 })
36
37 test('errors on non-array bundleddependencies', function (t) {
38   t.plan(6)
39   process.chdir(pkg)
40   npm.load({},
41     function () {
42       common.npm(['install'], { cwd: pkg }, function (err, code, stdout, stderr) {
43         t.ifError(err, 'npm install ran without issue')
44         t.notOk(code, 'exited with a non-error code')
45         t.notOk(stderr, 'no error output')
46
47         common.npm(['install', './pkg-with-bundled'], { cwd: dir },
48           function (err, code, stdout, stderr) {
49             t.ifError(err, 'npm install ran without issue')
50             t.ok(code, 'exited with a error code')
51             t.ok(stderr.indexOf('be an array') > -1, 'nice error output')
52           }
53         )
54       })
55     }
56   )
57 })
58
59 test('cleanup', function (t) {
60   cleanup()
61   t.end()
62 })
63
64 function bootstrap () {
65   mkdirp.sync(dir)
66
67   mkdirp.sync(pkg)
68   fs.writeFileSync(path.resolve(pkg, 'package.json'), pj)
69
70   mkdirp.sync(dep)
71   fs.writeFileSync(path.resolve(dep, 'package.json'), pjDep)
72 }
73
74 function cleanup () {
75   process.chdir(osenv.tmpdir())
76   rimraf.sync(dir)
77 }