diff options
author | Florian Dold <florian.dold@gmail.com> | 2019-04-03 15:43:32 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2019-04-03 15:45:57 +0200 |
commit | 71e285b94c7edaa43aa8115965cf5a36b8e0f80a (patch) | |
tree | 7d4aa9d0d5aff686b106cd5da72ba77960c4af43 /deps/node/deps/npm/test/tap/install-duplicate-deps-warning.js | |
parent | 7dadf9356b4f3f4137ce982ea5bb960283116e9a (diff) | |
download | akono-71e285b94c7edaa43aa8115965cf5a36b8e0f80a.tar.gz akono-71e285b94c7edaa43aa8115965cf5a36b8e0f80a.tar.bz2 akono-71e285b94c7edaa43aa8115965cf5a36b8e0f80a.zip |
Node.js v11.13.0
Diffstat (limited to 'deps/node/deps/npm/test/tap/install-duplicate-deps-warning.js')
-rw-r--r-- | deps/node/deps/npm/test/tap/install-duplicate-deps-warning.js | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/deps/node/deps/npm/test/tap/install-duplicate-deps-warning.js b/deps/node/deps/npm/test/tap/install-duplicate-deps-warning.js new file mode 100644 index 00000000..017a5cdf --- /dev/null +++ b/deps/node/deps/npm/test/tap/install-duplicate-deps-warning.js @@ -0,0 +1,69 @@ +var fs = require('graceful-fs') +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 = require('../../') + +var pkg = path.resolve(__dirname, path.basename(__filename, '.js')) + +var json = { + dependencies: { + underscore: '1.5.1' + }, + devDependencies: { + underscore: '1.3.1' + } +} + +test('setup', function (t) { + t.comment('test for https://github.com/npm/npm/issues/6725') + cleanup() + mkdirp.sync(pkg) + fs.writeFileSync( + path.join(pkg, 'package.json'), + JSON.stringify(json, null, 2) + ) + process.chdir(pkg) + console.dir(pkg) + t.end() +}) + +test('npm install with duplicate dependencies, different versions', function (t) { + t.plan(1) + mr({ port: common.port }, function (er, s) { + var opts = { + cache: path.resolve(pkg, 'cache'), + registry: common.registry + } + + npm.load(opts, function (err) { + if (err) return t.fail(err) + + npm.install('.', function (err, additions, result) { + if (err) return t.fail(err) + + var invalid = result.warnings.filter(function (warning) { return warning.code === 'EDUPLICATEDEP' }) + t.is(invalid.length, 1, 'got a warning (EDUPLICATEDEP) for duplicate dev/production dependencies') + + s.close() + t.end() + }) + }) + }) +}) + +test('cleanup', function (t) { + cleanup() + t.end() +}) + +function cleanup () { + process.chdir(osenv.tmpdir()) + rimraf.sync(pkg) +} |