]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/legacy-missing-bindir.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / test / tap / legacy-missing-bindir.js
1 'use strict'
2 var path = require('path')
3 var fs = require('fs')
4 var test = require('tap').test
5 var common = require('../common-tap.js')
6 var rimraf = require('rimraf')
7 var mkdirp = require('mkdirp')
8 var basepath = path.resolve(__dirname, path.basename(__filename, '.js'))
9 var fixturepath = path.resolve(basepath, 'npm-test-missing-bindir')
10 var modulepath = path.resolve(basepath, 'node_modules')
11 var installedpath = path.resolve(modulepath, 'npm-test-missing-bindir')
12 var Tacks = require('tacks')
13 var File = Tacks.File
14 var Dir = Tacks.Dir
15
16 var fixture = new Tacks(
17   Dir({
18     README: File(
19       'just an npm test\n'
20     ),
21     'package.json': File({
22       name: 'npm-test-missing-bindir',
23       version: '0.0.0',
24       directories: {
25         bin: './not-found'
26       }
27     })
28   })
29 )
30
31 test('setup', function (t) {
32   setup()
33   t.done()
34 })
35
36 function installedExists (filename) {
37   try {
38     fs.statSync(path.resolve(installedpath, filename))
39     return true
40   } catch (ex) {
41     console.log(ex)
42     return false
43   }
44 }
45
46 test('missing-bindir', function (t) {
47   common.npm(['install', fixturepath], {cwd: basepath}, installCheckAndTest)
48
49   function installCheckAndTest (err, code, stdout, stderr) {
50     if (err) throw err
51     if (stderr) console.error(stderr)
52     console.log(stdout)
53     t.is(code, 0, 'install went ok')
54     t.is(installedExists('README'), true, 'README')
55     t.is(installedExists('package.json'), true, 'package.json')
56     common.npm(['rm', fixturepath], {cwd: basepath}, removeCheckAndDone)
57   }
58
59   function removeCheckAndDone (err, code, stdout, stderr) {
60     if (err) throw err
61     console.error(stderr)
62     console.log(stdout)
63     t.is(code, 0, 'remove went ok')
64     t.done()
65   }
66 })
67
68 test('cleanup', function (t) {
69   cleanup()
70   t.done()
71 })
72
73 function setup () {
74   cleanup()
75   fixture.create(fixturepath)
76   mkdirp.sync(modulepath)
77 }
78
79 function cleanup () {
80   fixture.remove(fixturepath)
81   rimraf.sync(basepath)
82 }