mirror of
https://github.com/SrIzan10/nodemon.git
synced 2026-05-01 10:55:09 +00:00
74 lines
2.0 KiB
JavaScript
74 lines
2.0 KiB
JavaScript
'use strict';
|
|
/*global describe:true, it: true, afterEach: true, beforeEach: true, after:true */
|
|
var cli = require('../../lib/cli/'),
|
|
path = require('path'),
|
|
testUtils = require('../utils'),
|
|
utils = require('../../lib/utils'),
|
|
exec = require('../../lib/config/exec'),
|
|
nodemon = require('../../lib/nodemon'),
|
|
command = require('../../lib/config/command'),
|
|
appjs = path.resolve(__dirname, '..', 'fixtures', 'env.js'),
|
|
assert = require('assert');
|
|
|
|
function asCLI(cmd) {
|
|
return ('node nodemon ' + (cmd|| '')).trim();
|
|
}
|
|
|
|
function parse(cmd) {
|
|
var parsed = cli.parse(cmd);
|
|
parsed.execOptions = exec(parsed);
|
|
return parsed;
|
|
}
|
|
|
|
function commandToString(command) {
|
|
return utils.stringify(command.executable, command.args);
|
|
}
|
|
|
|
describe('nodemon API events', function () {
|
|
var pwd = process.cwd(),
|
|
oldhome = utils.home;
|
|
|
|
afterEach(function () {
|
|
process.chdir(pwd);
|
|
utils.home = oldhome;
|
|
});
|
|
|
|
after(function (done) {
|
|
// clean up just in case.
|
|
setTimeout(done, 1000);
|
|
});
|
|
|
|
beforeEach(function (done) {
|
|
// move to the fixtures directory to allow for config loading
|
|
process.chdir(path.resolve(pwd, 'test/fixtures'));
|
|
utils.home = path.resolve(pwd, ['test', 'fixtures', 'events'].join(path.sep));
|
|
|
|
nodemon.reset(done);
|
|
});
|
|
|
|
it('should trigger start event script', function (done) {
|
|
var plan = new testUtils.Plan(4, done);
|
|
nodemon({
|
|
script: appjs,
|
|
verbose: true,
|
|
stdout: false,
|
|
env: { USER: 'nodemon' },
|
|
}).on('start', function () {
|
|
plan.assert(true, 'started');
|
|
}).on('exit', function () {
|
|
plan.assert(true, 'exit');
|
|
}).on('stdout', function (data) {
|
|
data = data.toString().trim();
|
|
if (data === 'OK') {
|
|
plan.assert(true, 'OK found');
|
|
} else if (data === 'STOPPED') {
|
|
plan.assert(true, 'STOPPED found');
|
|
} else if (data === 'nodemon') {
|
|
// expected output
|
|
} else {
|
|
plan.assert(false, data + ' found');
|
|
}
|
|
|
|
});
|
|
});
|
|
}); |