]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/outdated-symlink.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / test / tap / outdated-symlink.js
1 var fs = require('graceful-fs')
2 var path = require('path')
3 var osenv = require('osenv')
4 var mkdirp = require('mkdirp')
5 var mr = require('npm-registry-mock')
6 var rimraf = require('rimraf')
7 var test = require('tap').test
8
9 var common = require('../common-tap.js')
10
11 var pkg = path.resolve(__dirname, 'outdated-symlink')
12 var cache = path.resolve(pkg, 'cache')
13 var originalLog
14
15 var fakeRoot = path.join(__dirname, 'fakeRoot')
16 var OPTS = {
17   env: {
18     'npm_config_prefix': fakeRoot
19   }
20 }
21
22 var json = {
23   name: 'my-local-package',
24   description: 'fixture',
25   version: '1.0.0'
26 }
27
28 test('setup', function (t) {
29   cleanup()
30   originalLog = console.log
31   mkdirp.sync(cache)
32   fs.writeFileSync(
33     path.join(pkg, 'package.json'),
34     JSON.stringify(json, null, 2)
35   )
36   process.chdir(pkg)
37   common.npm(['install', '-g', 'async@0.2.9', 'underscore@1.3.1'], OPTS, function (err, c, out) {
38     t.ifError(err, 'global install did not error')
39     common.npm(['link'], OPTS, function (err, c, out) {
40       t.ifError(err, 'link did not error')
41       common.npm(['ls', '-g'], OPTS, function (err, c, out, stderr) {
42         t.ifError(err)
43         t.equal(c, 0)
44         t.equal(stderr, '', 'got expected stderr')
45         t.has(out, /my-local-package@1.0.0/, 'creates global link ok')
46         t.end()
47       })
48     })
49   })
50 })
51
52 test('when outdated is called linked packages should be displayed as such', function (t) {
53   var regOutLinked = /my-local-package\s*1.0.0\s*linked\s*linked/
54   var regOutInstallOne = /async\s*0.2.9\s*0.2.10\s*0.2.10/
55   var regOutInstallTwo = /underscore\s*1.3.1\s*1.5.1\s*1.5.1/
56
57   console.log = function () {}
58   mr({ port: common.port }, function (er, s) {
59     common.npm(
60       [
61         '--registry', common.registry,
62         'outdated', '-g'
63       ],
64       OPTS,
65       function (err, c, out, stderr) {
66         t.ifError(err)
67         t.match(out, regOutLinked, 'Global Link format as expected')
68         t.match(out, regOutInstallOne, 'Global Install format as expected')
69         t.match(out, regOutInstallTwo, 'Global Install format as expected')
70         s.close()
71         t.end()
72       }
73     )
74   })
75 })
76
77 test('cleanup', function (t) {
78   process.chdir(osenv.tmpdir())
79   common.npm(['rm', 'outdated'], OPTS, function (err, code) {
80     t.ifError(err, 'npm removed the linked package without error')
81     t.equal(code, 0, 'cleanup outdated in local ok')
82     common.npm(['rm', '-g', 'outdated', 'async', 'underscore'], OPTS, function (err, code) {
83       t.ifError(err, 'npm removed the global package without error')
84       t.equal(code, 0, 'cleanup outdated in global ok')
85
86       console.log = originalLog
87       cleanup()
88       t.end()
89     })
90   })
91 })
92
93 function cleanup () {
94   rimraf.sync(pkg)
95   rimraf.sync(fakeRoot)
96 }