summaryrefslogtreecommitdiff
path: root/deps/node/deps/npm/test/tap/version-from-git.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/node/deps/npm/test/tap/version-from-git.js')
-rw-r--r--deps/node/deps/npm/test/tap/version-from-git.js231
1 files changed, 0 insertions, 231 deletions
diff --git a/deps/node/deps/npm/test/tap/version-from-git.js b/deps/node/deps/npm/test/tap/version-from-git.js
deleted file mode 100644
index 1dc649be..00000000
--- a/deps/node/deps/npm/test/tap/version-from-git.js
+++ /dev/null
@@ -1,231 +0,0 @@
-var common = require('../common-tap.js')
-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('../../lib/npm.js')
-
-var pkg = path.resolve(__dirname, 'version-from-git')
-var packagePath = path.resolve(pkg, 'package.json')
-var cache = path.resolve(pkg, 'cache')
-
-var json = { name: 'cat', version: '0.1.2' }
-
-test('npm version from-git with a valid tag creates a new commit', function (t) {
- var version = '1.2.3'
- setup()
- createTag(t, version, runVersion)
-
- function runVersion (er) {
- t.ifError(er, 'git tag ran without error')
- npm.config.set('sign-git-commit', false)
- npm.config.set('sign-git-tag', false)
- npm.commands.version(['from-git'], checkVersion)
- }
-
- function checkVersion (er) {
- var git = require('../../lib/utils/git.js')
- t.ifError(er, 'version command ran without error')
- git.whichAndExec(
- ['log'],
- { cwd: pkg, env: process.env },
- checkCommit
- )
- }
-
- function checkCommit (er, log, stderr) {
- t.ifError(er, 'git log ran without issue')
- t.notOk(stderr, 'no error output')
- t.ok(log.indexOf(version) !== -1, 'commit was created')
- t.end()
- }
-})
-
-test('npm version from-git with a valid tag updates the package.json version', function (t) {
- var version = '1.2.3'
- setup()
- createTag(t, version, runVersion)
-
- function runVersion (er) {
- t.ifError(er, 'git tag ran without error')
- npm.config.set('sign-git-commit', false)
- npm.config.set('sign-git-tag', false)
- npm.commands.version(['from-git'], checkManifest)
- }
-
- function checkManifest (er) {
- t.ifError(er, 'npm run version ran without error')
- fs.readFile(path.resolve(pkg, 'package.json'), 'utf8', function (er, data) {
- t.ifError(er, 'read manifest without error')
- var manifest = JSON.parse(data)
- t.equal(manifest.version, version, 'updated the package.json version')
- t.done()
- })
- }
-})
-
-test('npm version from-git strips tag-version-prefix', function (t) {
- var version = '1.2.3'
- var prefix = 'custom-'
- var tag = prefix + version
- setup()
- createTag(t, tag, runVersion)
-
- function runVersion (er) {
- t.ifError(er, 'git tag ran without error')
- npm.config.set('sign-git-commit', false)
- npm.config.set('sign-git-tag', false)
- npm.config.set('tag-version-prefix', prefix)
- npm.commands.version(['from-git'], checkVersion)
- }
-
- function checkVersion (er) {
- var git = require('../../lib/utils/git.js')
- t.ifError(er, 'version command ran without error')
- git.whichAndExec(
- ['log', '--pretty=medium'],
- { cwd: pkg, env: process.env },
- checkCommit
- )
- }
-
- function checkCommit (er, log, stderr) {
- t.ifError(er, 'git log ran without issue')
- t.notOk(stderr, 'no error output')
- t.ok(log.indexOf(tag) === -1, 'commit should not include prefix')
- t.ok(log.indexOf(version) !== -1, 'commit should include version')
- t.end()
- }
-})
-
-test('npm version from-git only strips tag-version-prefix if it is a prefix', function (t) {
- var prefix = 'test'
- var version = '1.2.3-' + prefix
- setup()
- createTag(t, version, runVersion)
-
- function runVersion (er) {
- t.ifError(er, 'git tag ran without error')
- npm.config.set('sign-git-commit', false)
- npm.config.set('sign-git-tag', false)
- npm.config.set('tag-version-prefix', prefix)
- npm.commands.version(['from-git'], checkVersion)
- }
-
- function checkVersion (er) {
- var git = require('../../lib/utils/git.js')
- t.ifError(er, 'version command ran without error')
- git.whichAndExec(
- ['log'],
- { cwd: pkg, env: process.env },
- checkCommit
- )
- }
-
- function checkCommit (er, log, stderr) {
- t.ifError(er, 'git log ran without issue')
- t.notOk(stderr, 'no error output')
- t.ok(log.indexOf(version) !== -1, 'commit should include the full version')
- t.end()
- }
-})
-
-test('npm version from-git with an existing version', function (t) {
- var tag = 'v' + json.version
- setup()
- createTag(t, tag, runVersion)
-
- function runVersion (er) {
- t.ifError(er, 'git tag ran without error')
- npm.config.set('sign-git-commit', false)
- npm.config.set('sign-git-tag', false)
- npm.commands.version(['from-git'], checkVersion)
- }
-
- function checkVersion (er) {
- t.like(er.message, /Version not changed/)
- t.done()
- }
-})
-
-test('npm version from-git with an invalid version tag', function (t) {
- var tag = 'invalidversion'
- setup()
- createTag(t, tag, runVersion)
-
- function runVersion (er) {
- t.ifError(er, 'git tag ran without error')
- npm.config.set('sign-git-commit', false)
- npm.config.set('sign-git-tag', false)
- npm.commands.version(['from-git'], checkVersion)
- }
-
- function checkVersion (er) {
- t.equal(er.message, tag + ' is not a valid version')
- t.done()
- }
-})
-
-test('npm version from-git without any versions', function (t) {
- setup()
- createGitRepo(t, runVersion)
-
- function runVersion (er) {
- t.ifError(er, 'created git repo without errors')
- npm.config.set('sign-git-commit', false)
- npm.config.set('sign-git-tag', false)
- npm.commands.version(['from-git'], checkVersion)
- }
-
- function checkVersion (er) {
- t.equal(er.message, 'No tags found')
- t.done()
- }
-})
-
-test('cleanup', function (t) {
- cleanup()
- t.end()
-})
-
-function cleanup () {
- // windows fix for locked files
- process.chdir(osenv.tmpdir())
- rimraf.sync(pkg)
-}
-
-function setup () {
- cleanup()
- mkdirp.sync(cache)
- process.chdir(pkg)
- fs.writeFileSync(packagePath, JSON.stringify(json), 'utf8')
-}
-
-function createGitRepo (t, cb) {
- npm.load({ cache: cache }, function (er) {
- t.ifError(er, 'npm load ran without issue')
- common.makeGitRepo({
- path: pkg,
- added: ['package.json']
- }, cb)
- })
-}
-
-function createTag (t, tag, cb) {
- var opts = { cwd: pkg, env: { PATH: process.env.PATH } }
- npm.load({ cache: cache }, function (er) {
- t.ifError(er, 'npm load ran without issue')
-
- // git must be called after npm.load because it uses config
- var git = require('../../lib/utils/git.js')
- common.makeGitRepo({
- path: pkg,
- added: ['package.json'],
- commands: [git.chainableExec(['tag', tag, '-am', tag], opts)]
- }, cb)
- })
-}