]> 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-toplevel.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-toplevel.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-toplevel')
14
15 var expected = {
16   name: 'npm-test-peer-deps-toplevel',
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     mkdirp: {
32       version: '0.3.5',
33       from: 'mkdirp@*',
34       resolved: common.registry + '/mkdirp/-/mkdirp-0.3.5.tgz'
35     },
36     request: {
37       version: '0.9.5',
38       from: 'request@>=0.9.0 <0.10.0',
39       resolved: common.registry + '/request/-/request-0.9.5.tgz'
40     }
41   }
42 }
43
44 var json = {
45   author: 'Domenic Denicola',
46   name: 'npm-test-peer-deps-toplevel',
47   version: '0.0.0',
48   dependencies: {
49     'npm-test-peer-deps': '*'
50   },
51   peerDependencies: {
52     mkdirp: '*'
53   }
54 }
55
56 test('installs the peer dependency directory structure', function (t) {
57   mr({ port: common.port }, function (er, s) {
58     setup(function (err) {
59       t.ifError(err, 'setup ran successfully')
60
61       npm.install('.', function (err) {
62         t.ifError(err, 'packages were installed')
63
64         npm.commands.ls([], true, function (err, _, results) {
65           t.ifError(err, 'listed tree without problems')
66
67           t.deepEqual(results, expected, 'got expected output from ls')
68           s.close()
69           t.end()
70         })
71       })
72     })
73   })
74 })
75
76 test('cleanup', function (t) {
77   cleanup()
78   t.end()
79 })
80
81 function setup (cb) {
82   cleanup()
83   mkdirp.sync(pkg)
84   fs.writeFileSync(
85     path.join(pkg, 'package.json'),
86     JSON.stringify(json, null, 2)
87   )
88   process.chdir(pkg)
89
90   var opts = { cache: path.resolve(pkg, 'cache'), registry: common.registry}
91   npm.load(opts, cb)
92 }
93
94 function cleanup () {
95   process.chdir(osenv.tmpdir())
96   rimraf.sync(pkg)
97 }