]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/version-update-shrinkwrap.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / test / tap / version-update-shrinkwrap.js
diff --git a/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/version-update-shrinkwrap.js b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/version-update-shrinkwrap.js
new file mode 100644 (file)
index 0000000..acf6cca
--- /dev/null
@@ -0,0 +1,134 @@
+var fs = require('fs')
+var path = require('path')
+
+var mkdirp = require('mkdirp')
+var osenv = require('osenv')
+var rimraf = require('rimraf')
+var test = require('tap').test
+
+var npm = require('../../')
+var common = require('../common-tap.js')
+
+var pkg = path.resolve(__dirname, 'version-shrinkwrap')
+var cache = path.resolve(pkg, 'cache')
+
+test('npm version <semver> updates shrinkwrap - no git', function (t) {
+  setup()
+  npm.load({ cache: pkg + '/cache', registry: common.registry }, function () {
+    npm.commands.version(['patch'], function (err) {
+      if (err) return t.fail('Error perform version patch')
+      var shrinkwrap = require(path.resolve(pkg, 'npm-shrinkwrap.json'))
+      t.equal(shrinkwrap.version, '0.0.1', 'got expected version')
+      t.end()
+    })
+  })
+})
+
+test('npm version <semver> updates git works with no shrinkwrap', function (t) {
+  setup()
+  rimraf.sync(path.resolve(pkg, 'npm-shrinkwrap.json'))
+
+  npm.config.set('sign-git-tag', false)
+
+  common.makeGitRepo({
+    path: pkg,
+    added: ['package.json']
+  }, version)
+
+  function version (er, stdout, stderr) {
+    t.ifError(er, 'git repo initialized without issue')
+    t.notOk(stderr, 'no error output')
+
+    npm.commands.version(['patch'], checkCommit)
+  }
+
+  function checkCommit (er) {
+    t.ifError(er, 'version command ran without error')
+
+    var shrinkwrap = require(path.resolve(pkg, 'npm-shrinkwrap.json'))
+    t.equal(shrinkwrap.version, '0.0.1', 'got expected version')
+
+    var opts = { cwd: pkg, env: { PATH: process.env.PATH }}
+    var git = require('../../lib/utils/git.js')
+    git.whichAndExec(
+      ['show', 'HEAD', '--name-only'],
+      opts,
+      function (er, stdout, stderr) {
+        t.ifError(er, 'git show ran without issues')
+        t.notOk(stderr, 'no error output')
+
+        var lines = stdout.split('\n')
+        t.notEqual(lines.indexOf('package.json'), -1, 'package.json commited')
+        t.equal(lines.indexOf('npm-shrinkwrap.json'), -1, 'npm-shrinkwrap.json not present')
+
+        t.end()
+      }
+    )
+  }
+})
+
+test('npm version <semver> updates shrinkwrap and updates git', function (t) {
+  setup()
+
+  npm.config.set('sign-git-tag', false)
+
+  common.makeGitRepo({
+    path: pkg,
+    added: ['package.json', 'npm-shrinkwrap.json']
+  }, version)
+
+  function version (er, stdout, stderr) {
+    t.ifError(er, 'git repo initialized without issue')
+    t.notOk(stderr, 'no error output')
+
+    npm.commands.version(['patch'], checkCommit)
+  }
+
+  function checkCommit (er) {
+    t.ifError(er, 'version command ran without error')
+
+    var shrinkwrap = require(path.resolve(pkg, 'npm-shrinkwrap.json'))
+    t.equal(shrinkwrap.version, '0.0.1', 'got expected version')
+
+    var git = require('../../lib/utils/git.js')
+    var opts = { cwd: pkg, env: { PATH: process.env.PATH }}
+    git.whichAndExec(
+      ['show', 'HEAD', '--name-only'],
+      opts,
+      function (er, stdout, stderr) {
+        t.ifError(er, 'git show ran without issues')
+        t.notOk(stderr, 'no error output')
+
+        var lines = stdout.split('\n')
+        t.notEqual(lines.indexOf('package.json'), -1, 'package.json commited')
+        t.notEqual(lines.indexOf('npm-shrinkwrap.json'), -1, 'npm-shrinkwrap.json commited')
+
+        t.end()
+      }
+    )
+  }
+})
+
+test('cleanup', function (t) {
+  // windows fix for locked files
+  process.chdir(osenv.tmpdir())
+
+  rimraf.sync(pkg)
+  t.end()
+})
+
+function setup () {
+  rimraf.sync(pkg)
+  mkdirp.sync(pkg)
+  mkdirp.sync(cache)
+  var contents = {
+    author: 'Nathan Bowser && Faiq Raza',
+    name: 'version-with-shrinkwrap-test',
+    version: '0.0.0',
+    description: 'Test for version with shrinkwrap update'
+  }
+
+  fs.writeFileSync(path.resolve(pkg, 'package.json'), JSON.stringify(contents), 'utf8')
+  fs.writeFileSync(path.resolve(pkg, 'npm-shrinkwrap.json'), JSON.stringify(contents), 'utf8')
+  process.chdir(pkg)
+}