diff options
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.js | 54 |
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) +} |