1 var fs = require('graceful-fs')
2 var path = require('path')
4 var mkdirp = require('mkdirp')
5 var osenv = require('osenv')
6 var rimraf = require('rimraf')
7 var test = require('tap').test
9 var common = require('../common-tap')
11 var pkg = path.resolve(__dirname, 'scripts-whitespace-windows')
12 var tmp = path.resolve(pkg, 'tmp')
13 var cache = path.resolve(pkg, 'cache')
14 var dep = path.resolve(pkg, 'dep')
16 var EXEC_OPTS = { cwd: pkg }
19 name: 'scripts-whitespace-windows',
21 description: 'a test',
22 repository: 'git://github.com/robertkowalski/bogus',
24 foo: 'foo --title \"Analysis of\" --recurse -d report src'
27 'scripts-whitespace-windows-dep': '0.0.1'
33 name: 'scripts-whitespace-windows-dep',
38 var foo = function () {/*
41 if (process.argv.length === 8)
42 console.log('npm-test-fine')
43 */}.toString().split('\n').slice(1, -1).join('\n')
45 test('setup', function (t) {
49 path.join(pkg, 'package.json'),
50 JSON.stringify(json, null, 2)
53 path.join(pkg, 'README.md'),
57 mkdirp.sync(path.join(dep, 'bin'))
59 path.join(dep, 'package.json'),
60 JSON.stringify(dependency, null, 2)
62 fs.writeFileSync(path.join(dep, 'bin', 'foo'), foo)
64 common.npm(['i', dep], {
67 npm_config_cache: cache,
69 npm_config_prefix: pkg,
70 npm_config_global: 'false'
72 }, function (err, code, stdout, stderr) {
73 t.ifErr(err, 'npm i ' + dep + ' finished without error')
74 t.equal(code, 0, 'npm i ' + dep + ' exited ok')
75 t.notOk(stderr, 'no output stderr')
80 test('test', function (t) {
81 common.npm(['run', 'foo'], EXEC_OPTS, function (err, code, stdout, stderr) {
82 stderr = stderr.trim()
83 if (stderr) console.error(stderr)
84 t.ifErr(err, 'npm run finished without error')
85 t.equal(code, 0, 'npm run exited ok')
86 t.notOk(stderr, 'no output stderr: ' + stderr)
87 stdout = stdout.trim()
88 t.ok(/npm-test-fine/.test(stdout))
93 test('cleanup', function (t) {
99 process.chdir(osenv.tmpdir())