X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.maps.server%2Fnode%2Fnode-v4.8.0-win-x64%2Fnode_modules%2Fnpm%2Ftest%2Ftap%2Fadd-remote-git-file.js;fp=org.simantics.maps.server%2Fnode%2Fnode-v4.8.0-win-x64%2Fnode_modules%2Fnpm%2Ftest%2Ftap%2Fadd-remote-git-file.js;h=673be4c2854ef4a3efa58a35c98b32b2896de409;hb=2529be6d456deeb07c128603ce4971f1dc29b695;hp=0000000000000000000000000000000000000000;hpb=2636fc31c16c23711cf2b06a4ae8537bba9c1d35;p=simantics%2Fdistrict.git diff --git a/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/add-remote-git-file.js b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/add-remote-git-file.js new file mode 100644 index 00000000..673be4c2 --- /dev/null +++ b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/add-remote-git-file.js @@ -0,0 +1,78 @@ +var fs = require('fs') +var resolve = require('path').resolve +var url = require('url') + +var osenv = require('osenv') +var mkdirp = require('mkdirp') +var rimraf = require('rimraf') +var test = require('tap').test + +var npm = require('../../lib/npm.js') +var common = require('../common-tap.js') + +var pkg = resolve(__dirname, 'add-remote-git-file') +var repo = resolve(__dirname, 'add-remote-git-file-repo') + +var git +var cloneURL = 'git+file://' + resolve(pkg, 'child.git') + +var pjChild = JSON.stringify({ + name: 'child', + version: '1.0.3' +}, null, 2) + '\n' + +test('setup', function (t) { + bootstrap() + setup(function (er, r) { + t.ifError(er, 'git started up successfully') + + t.end() + }) +}) + +test('cache from repo', function (t) { + process.chdir(pkg) + var addRemoteGit = require('../../lib/cache/add-remote-git.js') + addRemoteGit(cloneURL, function (er, data) { + t.ifError(er, 'cached via git') + t.equal( + url.parse(data._resolved).protocol, + 'git+file:', + 'npm didn\'t go crazy adding git+git+git+git' + ) + + t.end() + }) +}) + +test('clean', function (t) { + cleanup() + t.end() +}) + +function bootstrap () { + cleanup() + mkdirp.sync(pkg) +} + +function setup (cb) { + mkdirp.sync(repo) + fs.writeFileSync(resolve(repo, 'package.json'), pjChild) + npm.load({ registry: common.registry, loglevel: 'silent' }, function () { + git = require('../../lib/utils/git.js') + + common.makeGitRepo({ + path: repo, + commands: [git.chainableExec( + ['clone', '--bare', repo, 'child.git'], + { cwd: pkg, env: process.env } + )] + }, cb) + }) +} + +function cleanup () { + process.chdir(osenv.tmpdir()) + rimraf.sync(repo) + rimraf.sync(pkg) +}