]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/install-bad-man.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / test / tap / install-bad-man.js
1 var fs = require("fs")
2 var resolve = require("path").resolve
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 common = require("../common-tap.js")
10
11 var pkg = resolve(__dirname, "install-bad-man")
12 var target = resolve(__dirname, "install-bad-man-target")
13
14 var EXEC_OPTS = {
15   cwd: target
16 }
17
18 var json = {
19   name    : "install-bad-man",
20   version : "1.2.3",
21   man     : [ "./install-bad-man.1.lol" ]
22 }
23
24
25 test("setup", function (t) {
26   setup()
27   t.pass("setup ran")
28   t.end()
29 })
30
31 test("install from repo on 'OS X'", function (t) {
32   common.npm(
33     [
34       "install",
35       "--prefix", target,
36       "--global",
37       pkg
38     ],
39     EXEC_OPTS,
40     function (err, code, stdout, stderr) {
41       t.ifError(err, "npm command ran from test")
42       t.equals(code, 1, "install exited with failure (1)")
43       t.notOk(stdout, "no output indicating success")
44       t.notOk(
45         stderr.match(/Cannot read property '1' of null/),
46         "no longer has cryptic error output"
47       )
48       t.ok(
49         stderr.match(/install-bad-man\.1\.lol is not a valid name/),
50         "got expected error output"
51       )
52
53       t.end()
54     }
55   )
56 })
57
58 test("clean", function (t) {
59   cleanup()
60   t.pass("cleaned up")
61   t.end()
62 })
63
64 function setup () {
65   cleanup()
66   mkdirp.sync(pkg)
67   // make sure it installs locally
68   mkdirp.sync(resolve(target, "node_modules"))
69   fs.writeFileSync(
70     resolve(pkg, "package.json"),
71     JSON.stringify(json, null, 2)+"\n"
72   )
73   fs.writeFileSync(resolve(pkg, "install-bad-man.1.lol"), "lol\n")
74 }
75
76 function cleanup () {
77   process.chdir(osenv.tmpdir())
78   rimraf.sync(pkg)
79   rimraf.sync(target)
80 }