@pattern-lab/live-server
Version:
simple development http server with live reload capability
95 lines (93 loc) • 2.48 kB
JavaScript
var assert = require('assert');
var path = require('path');
var exec = require('child_process').execFile;
var cmd = path.join(__dirname, '..', 'live-server.js');
var opts = {
timeout: 2000,
maxBuffer: 1024,
};
function exec_test(args, callback) {
if (process.platform === 'win32')
exec(process.execPath, [cmd].concat(args), opts, callback);
else exec(cmd, args, opts, callback);
}
describe('command line usage', function () {
it('--version', function (done) {
exec_test(['--version'], function (error, stdout, stdin) {
assert(!error, error);
assert(
stdout.indexOf('@pattern-lab/live-server') == 0,
'version not found'
);
done();
});
});
it('--help', function (done) {
exec_test(['--help'], function (error, stdout, stdin) {
assert(!error, error);
assert(stdout.indexOf('Usage: live-server') == 0, 'usage not found');
done();
});
});
it('--quiet', function (done) {
exec_test(
['--quiet', '--no-browser', '--test'],
function (error, stdout, stdin) {
assert(!error, error);
assert(stdout === '', 'stdout not empty');
done();
}
);
});
it('--port', function (done) {
exec_test(
['--port=16123', '--no-browser', '--test'],
function (error, stdout, stdin) {
assert(!error, error);
assert(
!Boolean(stdout.indexOf('Serving') == 0),
'serving string not found'
);
assert(
stdout.indexOf('at http://127.0.0.1:16123') != -1,
'port string not found'
);
done();
}
);
});
it('--host', function (done) {
exec_test(
['--host=localhost', '--no-browser', '--test'],
function (error, stdout, stdin) {
assert(!error, error);
assert(
!Boolean(stdout.indexOf('Serving') == 0),
'serving string not found'
);
assert(
stdout.indexOf('at http://localhost:') != -1,
'host string not found'
);
done();
}
);
});
it('--htpasswd', function (done) {
exec_test(
[
'--htpasswd=' + path.join(__dirname, 'data/htpasswd-test'),
'--no-browser',
'--test',
],
function (error, stdout, stdin) {
assert(!error, error);
assert(
!Boolean(stdout.indexOf('Serving') == 0),
'serving string not found'
);
done();
}
);
});
});