summaryrefslogtreecommitdiff
path: root/deps/npm/test/tap/shrinkwrap-shared-dev-dependency.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/test/tap/shrinkwrap-shared-dev-dependency.js')
-rw-r--r--deps/npm/test/tap/shrinkwrap-shared-dev-dependency.js104
1 files changed, 51 insertions, 53 deletions
diff --git a/deps/npm/test/tap/shrinkwrap-shared-dev-dependency.js b/deps/npm/test/tap/shrinkwrap-shared-dev-dependency.js
index 0011f7b6f1..71e6371bcf 100644
--- a/deps/npm/test/tap/shrinkwrap-shared-dev-dependency.js
+++ b/deps/npm/test/tap/shrinkwrap-shared-dev-dependency.js
@@ -3,89 +3,87 @@ var path = require('path')
var mkdirp = require('mkdirp')
var mr = require('npm-registry-mock')
-var osenv = require('osenv')
var rimraf = require('rimraf')
var test = require('tap').test
var common = require('../common-tap.js')
-var npm = npm = require('../../')
-var pkg = path.resolve(__dirname, 'shrinkwrap-shared-dev-dependency')
+var pkg = path.resolve(__dirname, path.basename(__filename, '.js'))
-test("shrinkwrap doesn't strip out the shared dependency", function (t) {
- t.plan(1)
-
- mr({ port: common.port }, function (er, s) {
- setup(function (err) {
- if (err) return t.fail(err)
-
- npm.install('.', function (err) {
- if (err) return t.fail(err)
- npm.config.set('dev', true) // npm install unsets this
+var opts = {
+ env: common.newEnv().extend({
+ npm_config_cache: path.resolve(pkg, 'cache'),
+ npm_config_registry: common.registry
+ }),
+ stdio: [0, 1, 2],
+ cwd: pkg
+}
- npm.commands.shrinkwrap([], true, function (err, results) {
- if (err) return t.fail(err)
+var json = {
+ author: 'Domenic Denicola',
+ name: 'npm-test-shrinkwrap-shared-dev-dependency',
+ version: '0.0.0',
+ dependencies: {
+ 'test-package-with-one-dep': '0.0.0'
+ },
+ devDependencies: {
+ 'test-package': '0.0.0'
+ }
+}
- t.deepEqual(results, desired)
- s.close()
- t.end()
- })
- })
- })
+var server
+test('setup', function (t) {
+ setup()
+ mr({ port: common.port }, function (er, s) {
+ if (er) throw er
+ server = s
+ t.done()
})
})
-test('cleanup', function (t) {
- cleanup()
- t.end()
-})
-
var desired = {
name: 'npm-test-shrinkwrap-shared-dev-dependency',
version: '0.0.0',
dependencies: {
'test-package-with-one-dep': {
version: '0.0.0',
- from: 'test-package-with-one-dep@0.0.0',
- resolved: common.registry +
- '/test-package-with-one-dep/-/test-package-with-one-dep-0.0.0.tgz'
+ resolved: common.registry + '/test-package-with-one-dep/-/test-package-with-one-dep-0.0.0.tgz',
+ integrity: 'sha1-JWwVltusKyPRImjatagCuy42Wsg='
},
'test-package': {
version: '0.0.0',
- from: 'test-package@0.0.0',
- resolved: common.registry + '/test-package/-/test-package-0.0.0.tgz'
+ resolved: common.registry + '/test-package/-/test-package-0.0.0.tgz',
+ integrity: 'sha1-sNMrbEXCWcV4uiADdisgUTG9+9E='
}
}
}
-var json = {
- author: 'Domenic Denicola',
- name: 'npm-test-shrinkwrap-shared-dev-dependency',
- version: '0.0.0',
- dependencies: {
- 'test-package-with-one-dep': '0.0.0'
- },
- devDependencies: {
- 'test-package': '0.0.0'
- }
-}
+test("shrinkwrap doesn't strip out the shared dependency", function (t) {
+ t.plan(3)
+
+ return common.npm(['install'], opts).spread((code) => {
+ t.is(code, 0, 'install')
+ return common.npm(['shrinkwrap'], opts)
+ }).spread((code) => {
+ t.is(code, 0, 'shrinkwrap')
+ var results = JSON.parse(fs.readFileSync(`${pkg}/npm-shrinkwrap.json`))
+ t.deepEqual(results.dependencies, desired.dependencies)
+ t.end()
+ })
+})
-function setup (cb) {
+test('cleanup', function (t) {
+ server.close()
+ cleanup()
+ t.end()
+})
+
+function setup () {
cleanup()
mkdirp.sync(pkg)
fs.writeFileSync(path.join(pkg, 'package.json'), JSON.stringify(json, null, 2))
- process.chdir(pkg)
-
- var opts = {
- cache: path.resolve(pkg, 'cache'),
- registry: common.registry,
- // important to make sure devDependencies don't get stripped
- dev: true
- }
- npm.load(opts, cb)
}
function cleanup () {
- process.chdir(osenv.tmpdir())
rimraf.sync(pkg)
}