]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/prepublish.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / test / tap / prepublish.js
1 // verify that prepublish runs on pack and publish
2 var common = require("../common-tap")
3 var test = require("tap").test
4 var fs = require("graceful-fs")
5 var join = require("path").join
6 var mkdirp = require("mkdirp")
7 var rimraf = require("rimraf")
8
9 var pkg = join(__dirname, "prepublish_package")
10 var tmp = join(pkg, "tmp")
11 var cache = join(pkg, "cache")
12
13 test("setup", function (t) {
14   var n = 0
15   cleanup()
16   mkdirp(pkg, then())
17   mkdirp(cache, then())
18   mkdirp(tmp, then())
19   function then () {
20     n++
21     return function (er) {
22       if (er) throw er
23       if (--n === 0) next()
24     }
25   }
26
27   function next () {
28     fs.writeFile(join(pkg, "package.json"), JSON.stringify({
29       name: "npm-test-prepublish",
30       version: "1.2.5",
31       scripts: { prepublish: "echo ok" }
32     }), "ascii", function (er) {
33       if (er) throw er
34
35       t.pass("setup done")
36       t.end()
37     })
38   }
39 })
40
41 test("test", function (t) {
42   var env = {
43     "npm_config_cache"  : cache,
44     "npm_config_tmp"    : tmp,
45     "npm_config_prefix" : pkg,
46     "npm_config_global" : "false"
47   }
48   for (var i in process.env) {
49     if (!/^npm_config_/.test(i))
50       env[i] = process.env[i]
51   }
52
53   common.npm([
54       "pack",
55       "--loglevel", "warn"
56     ], { cwd: pkg, env: env }, function(err, code, stdout, stderr) {
57     t.equal(code, 0, "pack finished successfully")
58     t.ifErr(err, "pack finished successfully")
59
60     t.notOk(stderr, "got stderr data:" + JSON.stringify("" + stderr))
61     var c = stdout.trim()
62     var regex = new RegExp("" +
63       "> npm-test-prepublish@1.2.5 prepublish [^\\r\\n]+\\r?\\n" +
64       "> echo ok\\r?\\n" +
65       "\\r?\\n" +
66       "ok\\r?\\n" +
67       "npm-test-prepublish-1.2.5.tgz", "ig")
68
69     t.ok(c.match(regex))
70     t.end()
71   })
72 })
73
74 test("cleanup", function (t) {
75   cleanup()
76   t.pass("cleaned up")
77   t.end()
78 })
79
80 function cleanup() {
81   rimraf.sync(pkg)
82 }