/// var smartcli = require("./index.js"); var bl = require("beautylog")("os"); bl.log('now starting Test'); bl.log('starting with initial CLI commands and options'); var commandsString = 'You specified the following commands:'; var commands = smartcli.get.commandArray(); for (var key in commands) { commandsString = commandsString + ' ' + commands[key]; } bl.log(commandsString); /* ------------------------------------------------------------------ * * ------------------- CHECKS TESTS --------------------------------- * * ------------------------------------------------------------------ */ /** * */ var checkCommandTest = function () { if (smartcli.check.command('jazz')) { bl.success('One of your commands is jazz. It is supposed to be there. Perfect!'); } else { bl.error('None of your commands is jazz. You need to check this'); process.exit(1); } if (!smartcli.check.command('punk')) { bl.success('None of your commands is punk. It is not supposed to be there. Perfect!'); } else { bl.error('One of your commands seems to be punk. Something is wrong here'); process.exit(1); } }; checkCommandTest(); var checkCommandPresenceTest = function () { if (smartcli.check.commandPresence()) { bl.success('There are commands present, like supposed to. Perfect!'); } else { bl.error('There do not seem to be any commands present... This is wrong'); process.exit(1); } }; checkCommandPresenceTest(); var checkCommandArgumentTest = function () { if (smartcli.check.commandArgument("jam", 1)) { bl.success('There is a level 1 argument! Perfect!'); } else { bl.error('There seems to be no level 1 argument... This is wrong'); process.exit(1); } if (!smartcli.check.commandArgument("session", 2)) { bl.success('There is no level 2 argument with the name of "session"! Perfect!'); } else { bl.error('There seems to be a level 2 argument with the name of "session"! This is wrong'); process.exit(1); } }; checkCommandArgumentTest(); var checkCommandArgumentPresenceTest = function () { if (smartcli.check.commandArgumentPresence(1)) { bl.success('There is a level 1 argument! Perfect!'); } else { bl.error('There seems to be no level 1 argument... This is wrong'); process.exit(1); } if (!smartcli.check.commandArgumentPresence(2)) { bl.success('There is no level 2 argument! Perfect!'); } else { bl.error('There seems to be a level 2 argument... This is wrong'); process.exit(1); } }; checkCommandArgumentPresenceTest(); /* ------------------------------------------------------------------ * * ------------------- GETTERS TESTS -------------------------------- * * ------------------------------------------------------------------ */ var getCwdTest = function () { bl.info('The current directory is: ' + smartcli.get.cwd().path); }; getCwdTest(); /* ------------------------------------------------------------------ * * ------------------- INTERACTION TESTS ---------------------------- * * ------------------------------------------------------------------ */ var interactionGetAnswerTest = function () { smartcli.interaction.getAnswer('How do you feel?', function (answer) { console.log('The answer is: ' + answer); interactionGetChoiceTest(); }); }; var interactionGetChoiceTest = function () { smartcli.interaction.getChoice('What music do you like to hear?', ['Jazz', 'Blues', 'Classical'], function (answer) { console.log('The answer is: ' + answer); endTests(); }); }; var endTests = function () { bl.ok("No more tests!"); bl.success("Tests completed successfully!"); }; if (!smartcli.check.option("silent")) { interactionGetAnswerTest(); } else { bl.info("--silent option is specified, thus we are not running interaction tests."); endTests(); } ;