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%2Finstall-link-scripts.js;fp=org.simantics.maps.server%2Fnode%2Fnode-v4.8.0-win-x64%2Fnode_modules%2Fnpm%2Ftest%2Ftap%2Finstall-link-scripts.js;h=5ad2feafe85b740bde8e724776d410ba58cc5639;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/install-link-scripts.js b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/install-link-scripts.js new file mode 100644 index 00000000..5ad2feaf --- /dev/null +++ b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/install-link-scripts.js @@ -0,0 +1,132 @@ +var fs = require('graceful-fs') +var path = require('path') + +var mkdirp = require('mkdirp') +var osenv = require('osenv') +var rimraf = require('rimraf') +var test = require('tap').test + +var common = require('../common-tap.js') + +var pkg = path.join(__dirname, 'install-link-scripts') +var tmp = path.join(pkg, 'tmp') +var dep = path.join(pkg, 'dep') + +var json = { + name: 'install-link-scripts', + version: '1.0.0', + description: 'a test', + repository: 'git://github.com/npm/npm.git', + license: 'ISC' +} + +var dependency = { + name: 'dep', + version: '1.0.0', + scripts: { + install: './bin/foo' + } +} + +var foo = function () {/* +#!/usr/bin/env node + +console.log('hey sup') +*/}.toString().split('\n').slice(1, -1).join('\n') + +process.env.npm_config_prefix = tmp + +test('plain install', function (t) { + setup() + + common.npm( + [ + 'install', dep, + '--tmp', tmp + ], + { cwd: pkg }, + function (err, code, stdout, stderr) { + t.ifErr(err, 'npm install ' + dep + ' finished without error') + t.equal(code, 0, 'exited ok') + t.notOk(stderr, 'no output stderr') + t.match(stdout, /hey sup/, 'postinstall script for dep ran') + t.end() + } + ) +}) + +test('link', function (t) { + setup() + + common.npm( + [ + 'link', + '--tmp', tmp + ], + { cwd: dep }, + function (err, code, stdout, stderr) { + t.ifErr(err, 'npm link finished without error') + t.equal(code, 0, 'exited ok') + t.notOk(stderr, 'no output stderr') + t.match(stdout, /hey sup/, 'script ran') + t.end() + } + ) +}) + +test('install --link', function (t) { + setup() + + common.npm( + [ + 'link', + '--tmp', tmp + ], + { cwd: dep }, + function (err, code, stdout, stderr) { + t.ifErr(err, 'npm link finished without error') + + common.npm( + [ + 'install', '--link', dependency.name, + '--tmp', tmp + ], + { cwd: pkg }, + function (err, code, stdout, stderr) { + t.ifErr(err, 'npm install --link finished without error') + t.equal(code, 0, 'exited ok') + t.notOk(stderr, 'no output stderr') + t.notMatch(stdout, /hey sup/, "script didn't run") + t.end() + } + ) + } + ) +}) + +test('cleanup', function (t) { + cleanup() + t.end() +}) + +function setup () { + cleanup() + mkdirp.sync(tmp) + fs.writeFileSync( + path.join(pkg, 'package.json'), + JSON.stringify(json, null, 2) + ) + + mkdirp.sync(path.join(dep, 'bin')) + fs.writeFileSync( + path.join(dep, 'package.json'), + JSON.stringify(dependency, null, 2) + ) + fs.writeFileSync(path.join(dep, 'bin', 'foo'), foo) + fs.chmod(path.join(dep, 'bin', 'foo'), '0755') +} + +function cleanup () { + process.chdir(osenv.tmpdir()) + rimraf.sync(pkg) +}