2016-03-18 17:08:26 +00:00
|
|
|
/// <reference path="../ts/typings/main.d.ts" />
|
|
|
|
var smartcli = require("../dist/index.js");
|
2016-03-14 06:12:00 +00:00
|
|
|
var beautylog = require("beautylog");
|
2015-10-06 23:07:38 +00:00
|
|
|
var commandsString = 'You specified the following commands:';
|
2015-11-08 23:58:40 +00:00
|
|
|
var commands = smartcli.get.commandArray();
|
2015-10-06 23:07:38 +00:00
|
|
|
for (var key in commands) {
|
|
|
|
commandsString = commandsString + ' ' + commands[key];
|
|
|
|
}
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.log(commandsString);
|
2015-11-08 23:58:40 +00:00
|
|
|
/* ------------------------------------------------------------------ *
|
|
|
|
* ------------------- CHECKS TESTS --------------------------------- *
|
|
|
|
* ------------------------------------------------------------------ */
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
*/
|
2015-10-14 18:59:01 +00:00
|
|
|
var checkCommandTest = function () {
|
2015-11-08 23:58:40 +00:00
|
|
|
if (smartcli.check.command('jazz')) {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.success('One of your commands is jazz. It is supposed to be there. Perfect!');
|
2015-11-08 23:58:40 +00:00
|
|
|
}
|
|
|
|
else {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.error('None of your commands is jazz. You need to check this');
|
2015-11-08 23:58:40 +00:00
|
|
|
process.exit(1);
|
|
|
|
}
|
|
|
|
if (!smartcli.check.command('punk')) {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.success('None of your commands is punk. It is not supposed to be there. Perfect!');
|
2015-11-08 23:58:40 +00:00
|
|
|
}
|
|
|
|
else {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.error('One of your commands seems to be punk. Something is wrong here');
|
2015-11-08 23:58:40 +00:00
|
|
|
process.exit(1);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
checkCommandTest();
|
|
|
|
var checkCommandPresenceTest = function () {
|
|
|
|
if (smartcli.check.commandPresence()) {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.success('There are commands present, like supposed to. Perfect!');
|
2015-11-08 23:58:40 +00:00
|
|
|
}
|
|
|
|
else {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.error('There do not seem to be any commands present... This is wrong');
|
2015-11-08 23:58:40 +00:00
|
|
|
process.exit(1);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
checkCommandPresenceTest();
|
|
|
|
var checkCommandArgumentTest = function () {
|
|
|
|
if (smartcli.check.commandArgument("jam", 1)) {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.success('There is a level 1 argument! Perfect!');
|
2015-11-08 23:58:40 +00:00
|
|
|
}
|
|
|
|
else {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.error('There seems to be no level 1 argument... This is wrong');
|
2015-11-08 23:58:40 +00:00
|
|
|
process.exit(1);
|
|
|
|
}
|
|
|
|
if (!smartcli.check.commandArgument("session", 2)) {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.success('There is no level 2 argument with the name of "session"! Perfect!');
|
2015-10-14 18:59:01 +00:00
|
|
|
}
|
|
|
|
else {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.error('There seems to be a level 2 argument with the name of "session"! This is wrong');
|
2015-11-08 23:58:40 +00:00
|
|
|
process.exit(1);
|
2015-10-14 18:59:01 +00:00
|
|
|
}
|
|
|
|
};
|
2015-11-08 23:58:40 +00:00
|
|
|
checkCommandArgumentTest();
|
|
|
|
var checkCommandArgumentPresenceTest = function () {
|
|
|
|
if (smartcli.check.commandArgumentPresence(1)) {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.success('There is a level 1 argument! Perfect!');
|
2015-11-08 23:58:40 +00:00
|
|
|
}
|
|
|
|
else {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.error('There seems to be no level 1 argument... This is wrong');
|
2015-11-08 23:58:40 +00:00
|
|
|
process.exit(1);
|
|
|
|
}
|
|
|
|
if (!smartcli.check.commandArgumentPresence(2)) {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.success('There is no level 2 argument! Perfect!');
|
2015-11-08 23:58:40 +00:00
|
|
|
}
|
|
|
|
else {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.error('There seems to be a level 2 argument... This is wrong');
|
2015-11-08 23:58:40 +00:00
|
|
|
process.exit(1);
|
|
|
|
}
|
2015-10-14 18:59:01 +00:00
|
|
|
};
|
2015-11-08 23:58:40 +00:00
|
|
|
checkCommandArgumentPresenceTest();
|
|
|
|
/* ------------------------------------------------------------------ *
|
|
|
|
* ------------------- GETTERS TESTS -------------------------------- *
|
|
|
|
* ------------------------------------------------------------------ */
|
2015-11-09 03:02:46 +00:00
|
|
|
var getCommandTest = function () {
|
|
|
|
var cliCommand = smartcli.get.command();
|
|
|
|
if (cliCommand.name == "jazz") {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.success('The specified command name is "jazz". Perfect!');
|
2015-11-09 03:02:46 +00:00
|
|
|
}
|
|
|
|
else {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.error('The specified command name is not "jazz". Something is wrong!');
|
2015-11-09 03:02:46 +00:00
|
|
|
process.exit(1);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
getCommandTest();
|
|
|
|
var getCommandArgumentTest = function () {
|
|
|
|
var cliArgument = smartcli.get.commandArgument(1);
|
|
|
|
var cliArgument2 = smartcli.get.commandArgument(2);
|
|
|
|
if (cliArgument.name == "jam") {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.success('The first specified command argument name is "jam". Perfect!');
|
2015-11-09 03:02:46 +00:00
|
|
|
}
|
|
|
|
else {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.error('The first specified command argument name is not "jam". Something is wrong!');
|
2015-11-09 03:02:46 +00:00
|
|
|
process.exit(1);
|
|
|
|
}
|
|
|
|
if (cliArgument2.name == "undefined") {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.success('The second specified command argument name is "undefined". Perfect!');
|
2015-11-09 03:02:46 +00:00
|
|
|
}
|
|
|
|
else {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.error('The second specified command argument name is not "undefined". Something is wrong!');
|
2015-11-09 03:02:46 +00:00
|
|
|
process.exit(1);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
getCommandArgumentTest();
|
|
|
|
var getCommandArgsTest = function () {
|
|
|
|
var commandArgs = smartcli.get.commandArgs();
|
|
|
|
if (commandArgs[0].name == "jam") {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.success("first command argument is 'jam'. Perfect!");
|
2015-11-09 03:02:46 +00:00
|
|
|
}
|
|
|
|
else {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.error("first command argument is not 'jam'. Something is wromg!");
|
2015-11-09 03:02:46 +00:00
|
|
|
console.log(commandArgs[0].name);
|
|
|
|
process.exit(1);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
getCommandArgsTest();
|
|
|
|
var getOptionTest = function () {
|
|
|
|
var cliOption = smartcli.get.option("awesome");
|
|
|
|
var cliOption2 = smartcli.get.option("terrific");
|
|
|
|
if (cliOption.specified) {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.success("awesome is specified. Perfect!");
|
2015-11-09 03:02:46 +00:00
|
|
|
}
|
|
|
|
else {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.error("awesome is not specified. Somehthing is wrong");
|
2015-11-09 03:02:46 +00:00
|
|
|
process.exit(1);
|
|
|
|
}
|
|
|
|
if (!cliOption2.specified) {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.success("terrific is not specified. Perfect!");
|
2015-11-09 03:02:46 +00:00
|
|
|
}
|
|
|
|
else {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.error("terrific is specified. Somehthing is wrong");
|
2015-11-09 03:02:46 +00:00
|
|
|
process.exit(1);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
getOptionTest();
|
2015-11-08 23:58:40 +00:00
|
|
|
var getCwdTest = function () {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.info('The current directory is: ' + smartcli.get.cwd().path);
|
2015-10-14 18:59:01 +00:00
|
|
|
};
|
2015-11-08 23:58:40 +00:00
|
|
|
getCwdTest();
|
|
|
|
/* ------------------------------------------------------------------ *
|
|
|
|
* ------------------- INTERACTION TESTS ---------------------------- *
|
|
|
|
* ------------------------------------------------------------------ */
|
|
|
|
var interactionGetAnswerTest = function () {
|
|
|
|
smartcli.interaction.getAnswer('How do you feel?', function (answer) {
|
2015-10-05 21:33:57 +00:00
|
|
|
console.log('The answer is: ' + answer);
|
2015-11-08 23:58:40 +00:00
|
|
|
interactionGetChoiceTest();
|
2015-10-05 21:33:57 +00:00
|
|
|
});
|
|
|
|
};
|
2015-11-08 23:58:40 +00:00
|
|
|
var interactionGetChoiceTest = function () {
|
|
|
|
smartcli.interaction.getChoice('What music do you like to hear?', ['Jazz', 'Blues', 'Classical'], function (answer) {
|
2015-10-05 21:33:57 +00:00
|
|
|
console.log('The answer is: ' + answer);
|
2015-11-08 23:58:40 +00:00
|
|
|
endTests();
|
2015-10-05 21:33:57 +00:00
|
|
|
});
|
|
|
|
};
|
2015-11-08 23:58:40 +00:00
|
|
|
var endTests = function () {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.ok("No more tests!");
|
|
|
|
beautylog.success("Tests completed successfully!");
|
2015-11-08 23:58:40 +00:00
|
|
|
};
|
|
|
|
if (!smartcli.check.option("silent")) {
|
|
|
|
interactionGetAnswerTest();
|
|
|
|
}
|
|
|
|
else {
|
2016-03-14 06:12:00 +00:00
|
|
|
beautylog.info("--silent option is specified, thus we are not running interaction tests.");
|
2015-11-08 23:58:40 +00:00
|
|
|
endTests();
|
|
|
|
}
|
|
|
|
;
|
2016-03-18 17:08:26 +00:00
|
|
|
|
|
|
|
//# sourceMappingURL=data:application/json;base64,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
|