]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/version-sub-directory.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-sub-directory.js
1 var common = require('../common-tap.js')
2 var fs = require('fs')
3 var path = require('path')
4
5 var mkdirp = require('mkdirp')
6 var osenv = require('osenv')
7 var rimraf = require('rimraf')
8 var test = require('tap').test
9
10 var npm = require('../../lib/npm.js')
11
12 var pkg = path.resolve(__dirname, 'version-sub-directory')
13 var subDirectory = path.resolve(pkg, 'sub-directory')
14 var packagePath = path.resolve(pkg, 'package.json')
15 var cache = path.resolve(pkg, 'cache')
16
17 var json = { name: 'cat', version: '0.1.2' }
18
19 test('npm version <semver> from a subdirectory', function (t) {
20   setup()
21   npmLoad()
22
23   function npmLoad () {
24     npm.load({ cache: cache }, function () {
25       common.makeGitRepo({
26         path: pkg,
27         added: ['package.json']
28       }, version)
29     })
30   }
31
32   function version (er, stdout, stderr) {
33     t.ifError(er, 'git repo initialized without issue')
34     t.notOk(stderr, 'no error output')
35     npm.config.set('sign-git-tag', false)
36     npm.commands.version(['patch'], checkVersion)
37   }
38
39   function checkVersion (er) {
40     var git = require('../../lib/utils/git.js')
41     t.ifError(er, 'version command ran without error')
42     git.whichAndExec(
43       ['log'],
44       { cwd: pkg, env: process.env },
45       checkCommit
46     )
47   }
48
49   function checkCommit (er, log, stderr) {
50     t.ifError(er, 'git log ran without issue')
51     t.notOk(stderr, 'no error output')
52     t.ok(log.match(/0\.1\.3/g), 'commited from subdirectory')
53     t.end()
54   }
55 })
56
57 test('cleanup', function (t) {
58   cleanup()
59   t.end()
60 })
61
62 function cleanup () {
63   // windows fix for locked files
64   process.chdir(osenv.tmpdir())
65   rimraf.sync(pkg)
66 }
67
68 function setup () {
69   cleanup()
70   mkdirp.sync(cache)
71   mkdirp.sync(subDirectory)
72   process.chdir(subDirectory)
73   fs.writeFileSync(packagePath, JSON.stringify(json), 'utf8')
74 }