summaryrefslogtreecommitdiff
path: root/deps/npm/test/tap/pack.js
diff options
context:
space:
mode:
authorRebecca Turner <me@re-becca.org>2018-04-20 18:26:37 -0700
committerRebecca Turner <me@re-becca.org>2018-05-24 23:24:45 -0700
commit468ab4519e1b92473acefb22801497a1af6aebae (patch)
treebdac1d062cd4b094bde3a21147bab5d82c792ece /deps/npm/test/tap/pack.js
parentac8226115e2192a7a46ba07789fa5136f74223e1 (diff)
downloadandroid-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.js167
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))
+})