diff options
Diffstat (limited to 'deps/node/deps/npm/test/tap/pack-scoped.js')
-rw-r--r-- | deps/node/deps/npm/test/tap/pack-scoped.js | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/deps/node/deps/npm/test/tap/pack-scoped.js b/deps/node/deps/npm/test/tap/pack-scoped.js new file mode 100644 index 00000000..05b9d12a --- /dev/null +++ b/deps/node/deps/npm/test/tap/pack-scoped.js @@ -0,0 +1,81 @@ +// verify that prepublish runs on pack and publish +var test = require('tap').test +var common = require('../common-tap') +var fs = require('graceful-fs') +var join = require('path').join +var mkdirp = require('mkdirp') +var rimraf = require('rimraf') + +var pkg = join(__dirname, 'scoped_package') +var manifest = join(pkg, 'package.json') +var tmp = join(pkg, 'tmp') +var cache = join(pkg, 'cache') + +var data = { + name: '@scope/generic-package', + version: '90000.100001.5' +} + +test('setup', function (t) { + var n = 0 + + rimraf.sync(pkg) + + mkdirp(pkg, then()) + mkdirp(cache, then()) + mkdirp(tmp, then()) + + function then () { + n++ + return function (er) { + t.ifError(er) + if (--n === 0) next() + } + } + + function next () { + fs.writeFile(manifest, JSON.stringify(data), 'ascii', done) + } + + function done (er) { + t.ifError(er) + + t.pass('setup done') + t.end() + } +}) + +test('test', function (t) { + var env = { + 'npm_config_cache': cache, + 'npm_config_tmp': tmp, + 'npm_config_prefix': pkg, + 'npm_config_global': 'false' + } + + for (var i in process.env) { + if (!/^npm_config_/.test(i)) env[i] = process.env[i] + } + + common.npm([ + 'pack', + '--loglevel', 'warn' + ], { + cwd: pkg, + env: env + }, function (err, code, stdout, stderr) { + t.ifErr(err, 'npm pack finished without error') + t.equal(code, 0, 'npm pack exited ok') + t.notOk(stderr, 'got stderr data: ' + JSON.stringify('' + stderr)) + stdout = stdout.trim() + var regex = new RegExp('scope-generic-package-90000.100001.5.tgz', 'ig') + t.ok(stdout.match(regex), 'found package') + t.end() + }) +}) + +test('cleanup', function (t) { + rimraf.sync(pkg) + t.pass('cleaned up') + t.end() +}) |