]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/common-tap.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / test / common-tap.js
diff --git a/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/common-tap.js b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/common-tap.js
new file mode 100644 (file)
index 0000000..06c1e3f
--- /dev/null
@@ -0,0 +1,97 @@
+// cheesy hackaround for test deps (read: nock) that rely on setImmediate
+if (!global.setImmediate || !require('timers').setImmediate) {
+  require('timers').setImmediate = global.setImmediate = function () {
+    var args = [arguments[0], 0].concat([].slice.call(arguments, 1))
+    setTimeout.apply(this, args)
+  }
+}
+var spawn = require('child_process').spawn
+var path = require('path')
+
+var port = exports.port = 1337
+exports.registry = 'http://localhost:' + port
+process.env.npm_config_loglevel = 'error'
+
+var npm_config_cache = path.resolve(__dirname, 'npm_cache')
+process.env.npm_config_cache = exports.npm_config_cache = npm_config_cache
+process.env.npm_config_userconfig = exports.npm_config_userconfig = path.join(__dirname, 'fixtures', 'config', 'userconfig')
+process.env.npm_config_globalconfig = exports.npm_config_globalconfig = path.join(__dirname, 'fixtures', 'config', 'globalconfig')
+process.env.random_env_var = 'foo'
+// suppress warnings about using a prerelease version of node
+process.env.npm_config_node_version = process.version.replace(/-.*$/, '')
+
+var bin = exports.bin = require.resolve('../bin/npm-cli.js')
+var chain = require('slide').chain
+var once = require('once')
+
+exports.npm = function npm (cmd, opts, cb) {
+  cb = once(cb)
+  cmd = [bin].concat(cmd)
+  opts = opts || {}
+
+  opts.env = opts.env || process.env
+  if (!opts.env.npm_config_cache) {
+    opts.env.npm_config_cache = npm_config_cache
+  }
+
+  var stdout = ''
+  var stderr = ''
+  var node = process.execPath
+  var child = spawn(node, cmd, opts)
+
+  if (child.stderr) {
+    child.stderr.on('data', function (chunk) {
+      stderr += chunk
+    })
+  }
+
+  if (child.stdout) {
+    child.stdout.on('data', function (chunk) {
+      stdout += chunk
+    })
+  }
+
+  child.on('error', cb)
+
+  child.on('close', function (code) {
+    cb(null, code, stdout, stderr)
+  })
+  return child
+}
+
+exports.makeGitRepo = function makeGitRepo (params, cb) {
+  // git must be called after npm.load because it uses config
+  var git = require('../lib/utils/git.js')
+
+  var root = params.path || process.cwd()
+  var user = params.user || 'PhantomFaker'
+  var email = params.email || 'nope@not.real'
+  var added = params.added || ['package.json']
+  var message = params.message || 'stub repo'
+
+  var opts = { cwd: root, env: { PATH: process.env.PATH }}
+  var commands = [
+    git.chainableExec(['init'], opts),
+    git.chainableExec(['config', 'user.name', user], opts),
+    git.chainableExec(['config', 'user.email', email], opts),
+    git.chainableExec(['add'].concat(added), opts),
+    git.chainableExec(['commit', '-m', message], opts)
+  ]
+
+  if (Array.isArray(params.commands)) {
+    commands = commands.concat(params.commands)
+  }
+
+  chain(commands, cb)
+}
+
+exports.rmFromInShrinkwrap = function rmFromInShrinkwrap (obj) {
+  for (var i in obj) {
+    if (i === "from")
+      delete obj[i]
+    else if (i === "dependencies")
+      for (var j in obj[i])
+        exports.rmFromInShrinkwrap(obj[i][j])
+  }
+  return obj
+}
\ No newline at end of file