]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/peer-deps-invalid.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / test / tap / peer-deps-invalid.js
diff --git a/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/peer-deps-invalid.js b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/peer-deps-invalid.js
new file mode 100644 (file)
index 0000000..3f51dbf
--- /dev/null
@@ -0,0 +1,94 @@
+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 Tacks = require('tacks')
+var Dir = Tacks.Dir
+var File = Tacks.File
+
+var npm = require('../../')
+var common = require('../common-tap')
+
+var testdir = path.resolve(__dirname, path.basename(__filename, '.js'))
+var cachedir = path.resolve(testdir, 'cache')
+
+var fixtures = new Tacks(Dir({
+  cache: Dir({}),
+  'package.json': File({
+    author: 'Domenic Denicola <domenic@domenicdenicola.com> (http://domenicdenicola.com/)',
+    name: 'peer-deps-invalid',
+    version: '0.0.0',
+    dependencies: {
+      'npm-test-peer-deps-file': 'file-ok/',
+      'npm-test-peer-deps-file-invalid': 'file-fail/'
+    }
+  }),
+  'file-ok': Dir({
+    'package.json': File({
+      name: 'npm-test-peer-deps-file',
+      main: 'index.js',
+      version: '1.2.3',
+      description:'This one should conflict with the other one',
+      peerDependencies: { underscore: '1.3.1' },
+      dependencies: { mkdirp: '0.3.5' }
+    }),
+    'index.js': File(
+      "module.exports = 'I\'m just a lonely index, naked as the day I was born.'"
+    ),
+  }),
+  'file-fail': Dir({
+    'package.json': File({
+      name: 'npm-test-peer-deps-file-invalid',
+      main: 'index.js',
+      version: '1.2.3',
+      description:'This one should conflict with the other one',
+      peerDependencies: { underscore: '1.3.3' }
+    }),
+    'index.js': File(
+      "module.exports = 'I\'m just a lonely index, naked as the day I was born.'"
+    ),
+  }),
+}))
+
+test('setup', function (t) {
+  cleanup()
+  fixtures.create(testdir)
+  process.chdir(testdir)
+  t.end()
+})
+
+test('installing dependencies that have conflicting peerDependencies', function (t) {
+  mr({port: common.port}, function (err, s) { // create mock registry.
+    t.ifError(err, 'mock registry started')
+    npm.load({
+      cache: cachedir,
+      registry: common.registry
+    }, function () {
+      npm.commands.install([], function (err) {
+        if (!err) {
+          t.fail("No error!")
+        } else {
+          t.equal(err.code, "EPEERINVALID")
+          t.equal(err.packageName, "underscore")
+          t.match(err.packageVersion, /^1\.3\.[13]$/)
+          t.match(err.message, /^The package underscore@1\.3\.[13] does not satisfy its siblings' peerDependencies requirements!$/)
+        }
+        s.close() // shutdown mock registry.
+        t.end()
+      })
+    })
+  })
+})
+
+test('cleanup', function (t) {
+  cleanup()
+  t.end()
+})
+
+function cleanup () {
+  fixtures.remove(testdir)
+}