mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
1.5 KiB
71 lines
1.5 KiB
var test = require('tap').test
|
|
var path = require('path')
|
|
var npm = path.resolve(__dirname, '../../cli.js')
|
|
var pkg = __dirname + '/scripts-whitespace-windows'
|
|
var tmp = pkg + '/tmp'
|
|
var cache = pkg + '/cache'
|
|
var modules = pkg + '/node_modules'
|
|
var dep = pkg + '/dep'
|
|
|
|
var mkdirp = require('mkdirp')
|
|
var rimraf = require('rimraf')
|
|
var node = process.execPath
|
|
var spawn = require('child_process').spawn
|
|
|
|
test('setup', function (t) {
|
|
mkdirp.sync(cache)
|
|
mkdirp.sync(tmp)
|
|
rimraf.sync(modules)
|
|
|
|
var env = {
|
|
npm_config_cache: cache,
|
|
npm_config_tmp: tmp,
|
|
npm_config_prefix: pkg,
|
|
npm_config_global: 'false'
|
|
}
|
|
|
|
var child = spawn(node, [npm, 'i', dep], {
|
|
cwd: pkg,
|
|
env: env
|
|
})
|
|
|
|
child.stdout.setEncoding('utf8')
|
|
child.stderr.on('data', function(chunk) {
|
|
throw new Error('got stderr data: ' + JSON.stringify('' + chunk))
|
|
})
|
|
child.on('close', function () {
|
|
t.end()
|
|
})
|
|
})
|
|
|
|
test('test', function (t) {
|
|
|
|
var child = spawn(node, [npm, 'run', 'foo'], {
|
|
cwd: pkg,
|
|
env: process.env
|
|
})
|
|
|
|
child.stdout.setEncoding('utf8')
|
|
child.stderr.on('data', function(chunk) {
|
|
throw new Error('got stderr data: ' + JSON.stringify('' + chunk))
|
|
})
|
|
child.stdout.on('data', ondata)
|
|
child.on('close', onend)
|
|
var c = ''
|
|
function ondata (chunk) {
|
|
c += chunk
|
|
}
|
|
function onend () {
|
|
c = c.trim()
|
|
|
|
t.ok(/npm-test-fine/.test(c))
|
|
t.end()
|
|
}
|
|
})
|
|
|
|
test('cleanup', function (t) {
|
|
rimraf.sync(cache)
|
|
rimraf.sync(tmp)
|
|
rimraf.sync(modules)
|
|
t.end()
|
|
})
|
|
|