diff options
author | Rebecca Turner <me@re-becca.org> | 2018-04-20 18:26:37 -0700 |
---|---|---|
committer | Rebecca Turner <me@re-becca.org> | 2018-05-24 23:24:45 -0700 |
commit | 468ab4519e1b92473acefb22801497a1af6aebae (patch) | |
tree | bdac1d062cd4b094bde3a21147bab5d82c792ece /deps/npm/test/tap/pack.js | |
parent | ac8226115e2192a7a46ba07789fa5136f74223e1 (diff) | |
download | android-node-v8-468ab4519e1b92473acefb22801497a1af6aebae.tar.gz android-node-v8-468ab4519e1b92473acefb22801497a1af6aebae.tar.bz2 android-node-v8-468ab4519e1b92473acefb22801497a1af6aebae.zip |
deps: upgrade npm to 6.1.0
PR-URL: https://github.com/nodejs/node/pull/20190
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Michaƫl Zasso <targos@protonmail.com>
Diffstat (limited to 'deps/npm/test/tap/pack.js')
-rw-r--r-- | deps/npm/test/tap/pack.js | 167 |
1 files changed, 167 insertions, 0 deletions
diff --git a/deps/npm/test/tap/pack.js b/deps/npm/test/tap/pack.js new file mode 100644 index 0000000000..a0c326210e --- /dev/null +++ b/deps/npm/test/tap/pack.js @@ -0,0 +1,167 @@ +'use strict' + +const BB = require('bluebird') + +const test = require('tap').test +const common = require('../common-tap') +const fs = BB.promisifyAll(require('graceful-fs')) +const path = require('path') +const rimraf = BB.promisify(require('rimraf')) +const Tacks = require('tacks') + +const Dir = Tacks.Dir +const File = Tacks.File + +const testDir = path.join(__dirname, 'pkg') +const tmp = path.join(testDir, 'tmp') +const cache = path.join(testDir, 'cache') + +test('basic pack', (t) => { + const fixture = new Tacks(new Dir({ + 'package.json': new File({ + name: 'generic-package', + version: '90000.100001.5' + }) + })) + return rimraf(testDir) + .then(() => fixture.create(testDir)) + .then(() => common.npm([ + 'pack', + '--loglevel', 'notice', + '--cache', cache, + '--tmp', tmp, + '--prefix', testDir, + '--no-global' + ], { + cwd: testDir + })) + .spread((code, stdout, stderr) => { + t.equal(code, 0, 'npm pack exited ok') + t.match(stderr, /notice\s+\d+[a-z]+\s+package\.json/gi, 'mentions package.json') + t.match(stdout, /generic-package-90000\.100001\.5\.tgz/ig, 'found pkg') + return fs.statAsync( + path.join(testDir, 'generic-package-90000.100001.5.tgz') + ) + }) + .then((stat) => t.ok(stat, 'tarball written to cwd')) + .then(() => rimraf(testDir)) +}) + +test('pack with bundled', (t) => { + const fixture = new Tacks(new Dir({ + 'package.json': new File({ + name: 'generic-package', + version: '90000.100001.5', + dependencies: { + '@bundle/dep': '^1.0.0', + 'regular-dep': '^1.0.0' + }, + bundleDependencies: [ + '@bundle/dep', + 'regular-dep' + ] + }), + 'node_modules': new Dir({ + 'regular-dep': new Dir({ + 'package.json': new File({ + name: 'regular-dep', + version: '1.0.0' + }) + }), + '@bundle': new Dir({ + 'dep': new Dir({ + 'package.json': new File({ + name: '@bundle/dep', + version: '1.0.0' + }) + }) + }) + }) + })) + return rimraf(testDir) + .then(() => fixture.create(testDir)) + .then(() => common.npm([ + 'pack', + '--loglevel', 'notice', + '--cache', cache, + '--tmp', tmp, + '--prefix', testDir, + '--no-global' + ], { + cwd: testDir + })) + .spread((code, stdout, stderr) => { + t.equal(code, 0, 'npm pack exited ok') + t.match(stderr, /notice\s+\d+[a-z]+\s+package\.json/gi, 'mentions package.json') + t.match(stderr, /notice\s+regular-dep/, 'regular dep mentioned') + t.match(stderr, /notice\s+@bundle\/dep/, 'bundled dep mentioned') + }) + .then(() => rimraf(testDir)) +}) + +test('pack --dry-run', (t) => { + const fixture = new Tacks(new Dir({ + 'package.json': new File({ + name: 'generic-package', + version: '90000.100001.5' + }) + })) + return rimraf(testDir) + .then(() => fixture.create(testDir)) + .then(() => common.npm([ + 'pack', + '--dry-run', + '--loglevel', 'notice', + '--cache', cache, + '--tmp', tmp, + '--prefix', testDir, + '--no-global' + ], { + cwd: testDir + })) + .spread((code, stdout, stderr) => { + t.equal(code, 0, 'npm pack exited ok') + t.match(stdout, /generic-package-90000\.100001\.5\.tgz/ig, 'found pkg') + return fs.statAsync( + path.join(testDir, 'generic-package-90000.100001.5.tgz') + ) + .then( + () => { throw new Error('should have failed') }, + (err) => t.equal(err.code, 'ENOENT', 'no tarball written!') + ) + }) + .then(() => rimraf(testDir)) +}) + +test('pack --json', (t) => { + const fixture = new Tacks(new Dir({ + 'package.json': new File({ + name: 'generic-package', + version: '90000.100001.5' + }) + })) + return rimraf(testDir) + .then(() => fixture.create(testDir)) + .then(() => common.npm([ + 'pack', + '--dry-run', + '--json', + '--loglevel', 'notice', + '--cache', cache, + '--tmp', tmp, + '--prefix', testDir, + '--no-global' + ], { + cwd: testDir + })) + .spread((code, stdout, stderr) => { + t.equal(code, 0, 'npm pack exited ok') + t.equal(stderr.trim(), '', 'no notice output') + t.similar(JSON.parse(stdout), [{ + filename: 'generic-package-90000.100001.5.tgz', + files: [{path: 'package.json'}], + entryCount: 1 + }], 'pack details output as valid json') + }) + .then(() => rimraf(testDir)) +}) |