]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/peer-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 / peer-deps.js
1 var fs = require('graceful-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 npm = npm = require('../../')
12
13 var pkg = path.resolve(__dirname, 'peer-deps')
14
15 var expected = {
16   name: 'npm-test-peer-deps-installer',
17   version: '0.0.0',
18   dependencies: {
19     'npm-test-peer-deps': {
20       version: '0.0.0',
21       from: 'npm-test-peer-deps@*',
22       resolved: common.registry + '/npm-test-peer-deps/-/npm-test-peer-deps-0.0.0.tgz',
23       dependencies: {
24         underscore: {
25           version: '1.3.1',
26           from: 'underscore@1.3.1',
27           resolved: common.registry + '/underscore/-/underscore-1.3.1.tgz'
28         }
29       }
30     },
31     request: {
32       version: '0.9.5',
33       from: 'request@>=0.9.0 <0.10.0',
34       resolved: common.registry + '/request/-/request-0.9.5.tgz'
35     }
36   }
37 }
38
39 var json = {
40   author: 'Domenic Denicola',
41   name: 'npm-test-peer-deps-installer',
42   version: '0.0.0',
43   dependencies: {
44     'npm-test-peer-deps': '*'
45   }
46 }
47
48 test('installs the peer dependency directory structure', function (t) {
49   mr({ port: common.port }, function (er, s) {
50     setup(function (err) {
51       if (err) return t.fail(err)
52
53       npm.install('.', function (err) {
54         if (err) return t.fail(err)
55
56         npm.commands.ls([], true, function (err, _, results) {
57           if (err) return t.fail(err)
58
59           t.deepEqual(results, expected)
60           s.close()
61           t.end()
62         })
63       })
64     })
65   })
66 })
67
68 test('cleanup', function (t) {
69   cleanup()
70   t.end()
71 })
72
73 function setup (cb) {
74   cleanup()
75   mkdirp.sync(pkg)
76   fs.writeFileSync(
77     path.join(pkg, 'package.json'),
78     JSON.stringify(json, null, 2)
79   )
80   process.chdir(pkg)
81
82   var opts = { cache: path.resolve(pkg, 'cache'), registry: common.registry}
83   npm.load(opts, cb)
84 }
85
86 function cleanup () {
87   process.chdir(osenv.tmpdir())
88   rimraf.sync(pkg)
89 }