diff --git a/lib/cmd.js b/lib/cmd.js index a3440b974..d28a1b9d3 100644 --- a/lib/cmd.js +++ b/lib/cmd.js @@ -33,10 +33,11 @@ Cmd.prototype.newApp = function() { .description('new application') .action(function(name, options) { if (name === undefined) { + console.log("please specify your app Name".red); console.log("e.g embark new MyApp".green); console.log("e.g embark new --help for more information".green); - process.exit(code); + process.exit(9); } self.Embark.generateTemplate('boilerplate', './', name); }); diff --git a/test/cmd.js b/test/cmd.js new file mode 100644 index 000000000..8b64a97dd --- /dev/null +++ b/test/cmd.js @@ -0,0 +1,30 @@ +var Embark = require('../lib/index'); +var Cmd = require('../lib/cmd'); + +describe('embark.Cmd', function () { + var cmd = new Cmd(Embark); + + describe('#new', function () { + it('it should not create an app without a name', function (done) { + cmd.newApp(undefined, function (output) { + var lines = output.split('\n'); + assert.equal(lines[0], 'please specify your app Name'); + assert.equal(lines[1], 'e.g embark new MyApp'); + assert.equal(lines[2], 'e.g embark new --help for more information'); + }); + done(); + }); + + it('it should create an app with a name', function (done) { + var appname = 'deleteapp'; + cmd.newApp(appname, function (output) { + var lines = output.split('\n'); + assert.equal(lines[0], 'Initializing Embark Template....'); + assert.equal(lines[1], 'Installing packages.. this can take a few seconds'); + assert.equal(lines[2], 'Init complete'); + assert.equal(lines[3], 'App ready at ./' + appname); + }); + done(); + }); + }); +}); \ No newline at end of file