aboutsummaryrefslogtreecommitdiff
path: root/deps/node/deps/npm/test/tap/version-no-git.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/node/deps/npm/test/tap/version-no-git.js')
-rw-r--r--deps/node/deps/npm/test/tap/version-no-git.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/deps/node/deps/npm/test/tap/version-no-git.js b/deps/node/deps/npm/test/tap/version-no-git.js
new file mode 100644
index 00000000..0a859c7a
--- /dev/null
+++ b/deps/node/deps/npm/test/tap/version-no-git.js
@@ -0,0 +1,54 @@
+var common = require('../common-tap.js')
+var test = require('tap').test
+var npm = require('../../')
+var osenv = require('osenv')
+var path = require('path')
+var fs = require('fs')
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+var requireInject = require('require-inject')
+
+var pkg = path.resolve(__dirname, 'version-no-git')
+var cache = path.resolve(pkg, 'cache')
+var gitDir = path.resolve(pkg, '.git')
+
+test('npm version <semver> in a git repo without the git binary', function (t) {
+ setup()
+ npm.load({cache: cache, registry: common.registry}, function () {
+ var version = requireInject('../../lib/version', {
+ which: function (cmd, cb) {
+ process.nextTick(function () {
+ cb(new Error('ENOGIT!'))
+ })
+ }
+ })
+
+ version(['patch'], function (err) {
+ if (!t.error(err)) return t.end()
+ var p = path.resolve(pkg, 'package')
+ var testPkg = require(p)
+ t.equal('0.0.1', testPkg.version, '\'' + testPkg.version + '\' === \'0.0.1\'')
+ t.end()
+ })
+ })
+})
+
+test('cleanup', function (t) {
+ process.chdir(osenv.tmpdir())
+
+ rimraf.sync(pkg)
+ t.end()
+})
+
+function setup () {
+ mkdirp.sync(pkg)
+ mkdirp.sync(cache)
+ mkdirp.sync(gitDir)
+ fs.writeFileSync(path.resolve(pkg, 'package.json'), JSON.stringify({
+ author: 'Terin Stock',
+ name: 'version-no-git-test',
+ version: '0.0.0',
+ description: "Test for npm version if git binary doesn't exist"
+ }), 'utf8')
+ process.chdir(pkg)
+}